0927Appium app自动化测试经验分享

今天基本写完DDM的二级目录(APP大模块下面一级的实际操作),但是再细致写下去就想死。
DDM这个app功能太多了,用起来太复杂,最近又会改动极大,天天一开会就个把小时,不开心。但是我抢到了回老家的票,虽然不太满意,但能够回家就开心。

个人博客:https://blog.csdn.net/zyooooxie

一)ActionChains 是针对PC端 鼠标操作模拟的类

当调用ActionChains的方法时,不会立即执行,而是会将所有的操作按顺序存放在一个队列里,当你调用perform()方法时,队列中的时间会依次执行。

from selenium.webdriver.common.action_chains import ActionChains

ActionChains(driver).move to element(XXXX).perform()  悬停	
ActionChains(driver).context_click(XXXX).perform() 右键	
Actionchains(driver).double_click(XXXXX).peiform() 双击  
ActionChains(driver).drag_and_drop(A ,B).perform() 拖动

有个情景:百度在输入内容的时候,输入框双击 会选中所有已输入的内容,可以使用Home 跳到前面再继续输入内容。

driver.find_element_by_id("kw").send_keys(u'百度')
youji = driver.find_element_by_id("kw")
ActionChains(driver).context_click(youji).perform()	# 跳到最前面 加‘一下’
youji.send_keys(Keys.HOME, u'一下')

三)xpath的定位实际运用

先父类后子类://XXXXX/xxxxx 主要是先定到父类,再来定位子类

举例:
fu2_id = ‘capture_layout_v3’ 父类的id定位
fu2_xpath = ‘//XXXX[@resource-id=“capture_layout_v3”]’ 父类的xpath定位
fu2_fanhui_xpath = ‘//XXXX[@resource-id=“capture_layout_v3”]/XXXX’ 定位子类A
fu2_pai_xpath = ‘//XXXX[@resource-id=“capture_layout_v3”]/xxxx’ 定位子类B

一般xpath定位可用到:
1.只存在text,且唯一,则直接用text,其Xpath为://XXXX[@text=XXXX]
2.只存在content-desc,且唯一,则直接用content-desc,其Xpath为://XXXX[@content-desc=XXXX]
3.属性很多, 假设有三个 可以三者取其二或者取其三能唯一定位 //XXXX[@resource-id=“abc” and @text=“xyz” and @content-desc=“def”]
4.寻找其父节点,直到找到唯一(可以定位到的)。再从其父节点开始,取绝对路径定位子节点(上面已举例)

四)split() --返回分割后的字符串列表

举例:
key = locator.split(’ ‘)[0]
value = locator.split(’ ')[1]
空格 为分隔符
saoyisao_loc = ‘id saoyosao_iv’ # 扫一扫
rechange_loc = ‘id home_rechange’ # 充值

这样的用法是 把下面的locator的值 分为前面的id为 key;实际定位的id的值 是value;
if key == ‘id’:
WebDriverWait(self.driver, 10).until(lambda the_driver:the_driver.find_element_by_id(value).is_displayed())
这是做显式等待的时候,分割出来定位元素的方式,后面跟的是value;

但我不这样写。

fanhui_id = ‘menu_one’
ziliao_id = ‘menu_three’
saixuan_id = ‘condition’

用例是这样写的:

self.xin_find_element(By.ID, self.ouyu_saixuan_id).send_keys(self.shoujihaoma)
self.xin_find_element(By.ID, self.ouyu_fanhui_id).click()

前面是传递了这个元素的定位方式,后面是值

五)字符串的截取,始终是记不住。学了好几遍了,心累

python的字串列表有2种取值顺序
1.是从左到右索引默认0开始的,最大范围是字符串长度少1
2.是从右到左索引默认-1开始的,最大范围是字符串开头

str = ‘0,1,2,3,4 。。。-4,-3,-2,-1’
左边的开始是包含了下边界,而取到的最大范围不包括上边界
str[-3:-1] # 截取倒数第三位与倒数第二位的字符
str[0:3] # 截取第一位到第三位的字符

str[-3:] # 截取倒数第三位到结尾
str[:] # 截取字符串的全部字符

str[2] # 截取第三个字符
str[-1] # 截取倒数第一个字符

交流技术 欢迎+QQ 153132336 zy
个人博客 https://blog.csdn.net/zyooooxie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值