1025Appium app自动化测试经验分享-使用long_press() 实现发送语音

今天公司那个app的UI自动化测试脚本就差不多了,再优化就是 增加发送邮件-分布式执行,暂时就没那么忙碌了。

长按 long_press() 实现发送语音

公司app的即时通讯功能我已经放弃治疗,所以拿着微信来做个分享,如果想发送语音,如何用脚本来实现呢?

这是今天的主角:
在这里插入图片描述

下面是代码:

    def test_01(self):
    	from appium.webdriver.common.touch_action import TouchAction
        self.driver.implicitly_wait(5)
        self.driver.find_element_by_xpath(self.weixin_xpath).click()
        self.driver.find_element_by_id(self.touxiang_id).click()
        self.driver.find_element_by_id(self.liaotian_biaoqing_id).click()
        self.driver.find_element_by_id(self.liaotian_yuyin_id).click()
        
        TouchAction(self.driver).long_press(self.driver.find_element_by_id(self.liaotian_yuyin_shuohua_id), duration=5000).release().perform()
        time.sleep(1)
        TouchAction(self.driver).long_press(self.driver.find_element_by_id(self.liaotian_yuyin_shuohua_id), duration=5000).wait(3000).release().perform()
        time.sleep(1)
        self.assertTrue(self.driver.find_element_by_id('com.tencent.mm:id/aa3'))

多说几句:
1.没有使用显式等待,偷懒 直接隐式等待了;
2.前面几行是 进入某个会话,点击了那个扬声器的小图标;
3.预期结果是 发送2条语音,一条持续5秒,一条持续8秒(持续长按5秒+等待3秒)
4.下次再进入次会话官方版本是 直接说话(故不能再点击扬声器) 解决方法:先点击 表情;
5.断言部分是验证的会话是否有这条语音信息。关于断言,实际是应该在用例最后 做个清空聊天记录的处理;因为时间有限,我就手工执行了。

结果:
在这里插入图片描述

其实是应该昨天做更新,但我嫌弃微信的最新版本太占内存,换了个谷歌市场版本,所以所有元素定位的属性值全部更改,再确定没啥问题后,跑这条用例反而全都失败。所以今早特地再来排查问题,发现没问题。

交流技术 欢迎+QQ 153132336 zy

猜你喜欢

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