Appium????????????
???????????? ???????[ 2016/12/9 16:27:23 ] ????????????????? Appium ??????????
	??????????:
	????????β????????????????????????????????????????2?????
	??????????????????ж?????????????????
	?????????:
	??????????????????????????ν?????????????????????????????????С??90%????е?????
	????http://v.youku.com/v_show/id_XNjM0ODIxNTUy.html
	????????testerhome.com
	????PS:????????????????
	????????????????? http://blog.csdn.net/gzlaiyonghao/article/details/2325027
	?????????????????????ж?????λ????????????????棬????δ???????λ??????п??
	# coding:utf8
	import logging
	import histsimilar
	import traceback
	import time
	import os
	from selenium import webdriver
	from selenium.common.exceptions import NoSuchElementException?? WebDriverException
	logging.basicConfig(filename='log.txt'??level=logging.INFO)
	success = True
	desired_caps = dict()
	desired_caps['browserName'] = 'iOS'
	desired_caps['platform'] = 'Mac'
	desired_caps['version'] = '6.1'
	desired_caps['app'] = os.path.abspath('????app??λ??')
	#def is_alert_present(wd):
	#    try:
	#        wd.switch_to_alert().text
	#        return True
	#    except:
	#        return False
	def click(element):
	element.click()
	time.sleep(3)
	logging.info(str(c) + ' time click ' + wd.page_source)
	screenshot()
	def send_keys(element?? keys):
	element.send_keys(keys)
	time.sleep(3)
	logging.info(str(c) + ' time click ' + wd.page_source)
	screenshot()
	def execute_script(script?? args):
	wd.execute_script(script?? args)
	time.sleep(3)
	screenshot()
	def mk_new_dir():
	global path?? base
	base = '???????λ??'
	if not os.path.isdir(base):
	path = base + '0/'
	os.mkdir(path)
	return
	path = base + str(len(os.listdir(base))) + '/'
	c = 0
	def screenshot():
	global c?? path
	if not os.path.isdir(path):
	os.mkdir(path)
	wd.get_screenshot_as_file(path + str(c) + '.png')
	c += 1
	def compare():
	dirs = list()
	for dirname in os.listdir(base):
	if os.path.isdir(base + dirname):
	dirs.append((os.path.getmtime(base + dirname)?? dirname))
	if len(dirs) < 3:
	return
	dirs.sort()
	new = dirs[len(dirs) - 1][1]
	previous = dirs[len(dirs) - 2][1]
	names = [(os.path.getmtime(base + new + '/' + filename)?? filename) for filename in
	os.listdir(base + new)]
	names.sort()
	for n in names:
	if n[1].startswith('.'):
	continue
	if os.path.exists(base + previous + '/' + n[1]):
	print n[1] + ' similarity : ' + str(
	int(histsimilar.calc_similar_by_path(base + new + '/' + n[1]??
	base + previous + '/' + n[1]) * 100)) + '%'
	try:
	mk_new_dir()
	wd = webdriver.Remote('http://0.0.0.0:4723/wd/hub'?? desired_caps)
	wd.implicitly_wait(5)
	try:
	button = wd.find_element_by_name('???????')
	while not button.is_displayed():
	#screenshot()
	time.sleep(1)
	time.sleep(3)
	click(button)
	except WebDriverException?? NoSuchElementException:
	logging.info('??п???????')
	click(wd.find_element_by_xpath("//window[1]/tableview[1]/cell[1]/button[1]"))
	click(wd.find_element_by_name(" ????"))
	click(wd.find_element_by_xpath("//window[1]/tableview[1]/cell[1]/button[2]"))
	click(wd.find_element_by_name(" ????"))
	click(wd.find_element_by_name("?μ?"))
	click(wd.find_element_by_name("qunar login"))
	send_keys(wd.find_element_by_xpath("//window[1]/image[2]/textfield[1]")?? "lvtu@yopmail.com")
	send_keys(wd.find_element_by_xpath("//window[1]/image[3]/secure[1]")?? "lvtu@yopmail.com")
	click(wd.find_element_by_name("???"))
	try:
	click(wd.find_element_by_xpath("//window[1]/button[3]"))
	except:
	logging.info('???????')
	click(wd.find_element_by_xpath("//window[1]/tableview[1]/cell[1]/text[1]"))
	click(wd.find_element_by_xpath("//window[1]/tableview[1]/cell[1]"))
	execute_script("mobile: swipe"??
	{"touchCount": 1?? "startX": 157?? "startY": 529?? "endX": 156?? "endY": 102?? "duration": 0.5})
	click(wd.find_element_by_name(" ????"))
	click(wd.find_element_by_name(" ????"))
	click(wd.find_element_by_xpath("//window[1]/button[1]"))
	except:
	traceback.print_exc()
	success = False
	finally:
	if success:
	#raise Exception("Test failed.")
	compare()
	wd.quit()
	
??????
					
					???·???
App??С????H5?????????????????Щ??
2024/9/11 15:34:34?????????????????????????
2024/9/10 11:13:49P-One ???????????????????????????????????????
2024/9/10 10:14:12???????????????????????????
2024/9/9 18:04:26??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44
					
			
								
								
								
								
								
								
								
								
								
								
				
sales@spasvo.com