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

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

一)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.xin_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.xin_swipe(0.7, 0.5, 0.3, 0.5, 600)

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

不知道为何,我始终是觉得它只有绝对路径的! 现在想来应该是 我在有其他方式id、content-desc可以定位的时候 不会想到xpath方式;但有这些定位方式的时候,inspector的xpath也会用到这些方式。

(可能有人好奇,既然有content-desc属性,为何还要使用xpath,因为content-desc属性值不固定)

二)横着 滑动

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

在这里插入图片描述

在这里插入图片描述

之前我分享过 竖着 可以滑动的;今天无意发现这个操作,所以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.xin_find_elements(By.ID, self.wode_id, self.qita_num).click()

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

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

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

猜你喜欢

转载自blog.csdn.net/zyooooxie/article/details/83014189