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

上班几天,总算是恢复了状态。感觉SZ的秋天已经到来,早上在阳台洗漱,感觉阵阵冷意,和我在北方感觉没啥差别了。最近一直在写我的app的UI自动化脚本。

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

一)Appium inspector的xpath定位可以提供相对路径

昨天提过这个 xpath定位标签是【1】【2】,但我今天做些测试的时候出现了问题,所以很尴尬。

我用xpath写了两个定位:
mingzi_xpath = ‘//[@resource-id=“layout_content”]/abc/abc/abc/abc/abc[1]’
biaoti_xpath = '//
[@resource-id=“layout_content”]/abc/abc/abc/abc/abc[2]’

因为这两个元素都有content-desc属性值,我想看下,所以print(mingzi.get_attribute(“name”))

第一次是打印【1】成第二个属性值;脸都黑了!
第二次打印【2】没有这个属性值;脸更黑了!!

查找原因是
1.前面有个滑动的动作,不能保证滑动的实际位置特别合适;
2.强制等待1s 是为了不影响实际获取属性。


self.new_swipe(0.5, 0.7, 0.5, 0.45, 600)
time.sleep(1)
print(self.driver.find_element_by_xpath(ming_xpath).get_attribute('name'))
print(self.xin_find_element(By.XPATH, biaoti_xpath).get_attribute('name'))

self.xin_find_element(By.XPATH, tu_xpath).click()
self.new_swipe(0.7, 0.5, 0.3, 0.5, 600)


在这个过程 我是想到使用Appium Desktop的Inspector 来确定我写的xpath到底对不对,看到了inspector是可以提供相对路径的!!!

不知道为何,我始终是觉得它只有绝对路径的。

二)横着 滑动

第一张图 按着这一行的位置,向左滑动 就变成第二张图

之前我分享过 竖着的时间框 可以滑动的;今天无意发现这个操作,所以 flick_element(on_element, xoffset, yoffset, speed)又可以来做尝试;

from selenium.webdriver.common.touch_actions import TouchActions
TouchActions(self.driver).flick_element(self.driver.find_element(By.ID, self.wode_hang_id), -300, 0, 50).perform()
time.sleep(1)
self.new_find_elements(By.ID, self.wode_id, self.qita_num).click()

最开始也不确定x轴位移 应该是正数还是负数,尝试后,我想可以这样理解:

以手机左上角为原点,向右建立X轴,向下建立Y轴,flick_element()滑动是根据先后坐标位置来决定正数、负数;

举例:
1.向下滑动 Y轴数值增大,故而 yoffset为正数
2.向左滑动 X轴数值减少,故而 xoffset为负数

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值