appium 企业微信实战2

课前准备

  • 看完本章节所有课程内容
  • 完成作业,优先回答和作业相关的问题
  • 相关问题在评论区回复

上课内容

  • 梳理知识点
  • 讲解作业
  • 答疑

本章演示代码

https://gitlab.stuq.ceshiren.com/lg/lg9/hogwartslg9

梳理学习路线

appium 学习路线.xmind.zip (196.4 KB)

自动化测试流程

作业

【简答题】实现企业微信 app 版 添加成员PO封装

思路

PO 模式主要组成元素

课后调查表

https://www.google.com/ 访问不了,怎样操作设置

appium部署在服务端后,怎么使case运行前与appium server建立连接呢?

有的元素desktop找不到,但是运行的时候可以正常运行

国外网站需要科学上网哈,dddd

appium 的客户端测试脚本与appium server 测试代码建立连接,需要保证两个条件
1、网络是通的
2、客户端的ip与port 要与 appium server启动的服务的ip和Port 相匹配

比如 启动appium 服务
appium --session-override -p 4725 -a 192.168.1.1

客户端代码:

caps = {}
       
...
self.driver = webdriver.Remote("http://192.168.1.1:4725/wd/hub", caps)

ip与端口要保持一致。

另外,
如果服务端连接多台设备 ,要指定某一台设备 ,需要指定desirecaps的 udid(设备的唯一标识) ,比如
caps["udid"] = "设备名"

设备名:通过adb devices 命令获取。

截图说明详细一点。

知道是国外网站,上网找了各种方法都没有解决,就是想问老师是怎样代理使用的

每个外网访问的工具使用的方式都有差异。
因为受国家法律法规限制,课程里不方便提供这类访问的能力介绍。

想了解的话,去问一下班主任吧。

删除成员后,返回下图界面,删除后的成员会显示一会,然后再被删除,没有toast值提示“删除成功”,这种情况需要怎样断言
image

请问在老师视频中po设计模型中 ,如何添加报错截图功能,讲解作业的时候能详细讲讲实现步骤吗?

这里后面的扩展课程会涉及一部分,这里提供一个思路。

两种解决方案:

1、装饰器
定义一个捕获异常的装饰器,一旦异常,则截图,或者将截图添加到allure报告中。
测试用例加上这个装饰器

2、还有另一种方式,复写pytest hook函数,pytest_runtest_makereport(获取用例测试结果)

这种只能验证联系人少的情况 ,一屏能展示下。如果多屏 就需要不停滑动查找。比较麻烦。

可以去搜索,搜索出来 有结果即有这个联系人,删除完成再去查看搜索结果。如果结果消失 ,则说明删除成功。

老师,可否讲下switch_to.context() 和 switch_to.windows() 的区别?

switch_to.context() 切换 上下文, 主要针对手机端
switch_to.windows() 切换窗口,selenium 切换 句柄


老师在APP的测试时BasePage.py文件中需要如上图的方式把driver接收然后被继承与调用,为什么在web自动化里BasePage.py中没有这样的类似操作?