今天公司那个app的UI自动化测试脚本就差不多了,再优化就是 增加发送邮件-分布式执行,暂时就没那么忙碌了。
个人博客:https://blog.csdn.net/zyooooxie
长按 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.断言部分是验证的会话是否有这条语音信息。关于断言,实际是应该在用例最后 做个清空聊天记录的处理;因为时间有限,我就手工执行了。
结果:
![](https://i-blog.csdnimg.cn/blog_migrate/098c5c63407311d990ef57ab740dc276.png)
交流技术 欢迎+QQ 153132336 zy
个人博客 https://blog.csdn.net/zyooooxie