Apppium driver的一些比较重要操作,原生APP和H5 APP(WEBVIEW)

1.reset()

//重置app
这时候driver会重置,相当于卸载重装应用。所以本地缓存会失效
driver.reset()

2.start_activity(包名,activity名)

//启动app的某一个activity
例如:driver.start_activity("com.wuba.zhuanzhuan","./presentation.view.activity.LaunchActivity")

3.contexts

//获得所有contexts
driver.contexts
结果如下:
['NATIVE_APP', 'WEBVIEW_com.android.browser']

NATIVE_APP:native的context
WEBVIEW_com.android.browser:webview的context,存放html的容器

4.current_context

//查看当前的context
driver.current_context

5.switch_to.context(context名)

//切换context
driver.switch_to.context("WEBVIEW_com.wuba.zhuanzhuan")
NATIVE时不能定位WEBVIEW的内容,在WEBVIEW的context时不能定位NATIVE的内容。
所以需要切换到对应的context中去进行操作

6.setNetworkConnection(bitmask掩码)

//设置网络类型
例如:设置网络类型为只开wifi
driver.set_network_connection(2)

网络的bitmask掩码如下:

| 值 (别名)           | 数据连接 | Wifi 连接 | 飞行模式 |
| ------------------ | ---- | ---- | ------------- |
| 0 (什么都没有)       | 0    | 0    | 0 |
| 1 (飞行模式)         | 0    | 0    | 1 |
| 2 (只有Wifi)        | 0    | 1    | 0 |
| 4 (只有数据连接)     | 1    | 0    | 0 |
| 6 (开启所有网络)     | 1    | 1    | 0 |

7.scroll(起始元素,结束元素)

driver.scroll(origin_el,destination_el)

8.获得当前页面的所有元素

driver.page_source
这可以用来判断元素是否存在,例如(assert "发布成功" in driver.page_source)

9.补充一些driver启动时可能用到的项

其实这些在上一篇启动里都有介绍,但是有些可能大家没注意到的点再列一下。这些点也是我在测试中实际遇到的点
autoLaunch :Appium是否要自动启动或安装app,默认true
desired_caps['autoLaunch'] = 'false'
有的时候我不想让appium每次都启动app,想自己去启动activity,那这个项这时就可以起作用了
noReset:在会话前是否重置app状态。默认是false
desired_caps['noReset'] = 'true'
newCommandTimeout:设置未接收到新命令的超时时间,默认60s
如果60s内没有接收到新命令,appium会自动断开连接,如果我需要很长时间做driver之外的操作,可能延长接收新命令的超时时间
desired_caps["newCommandTimeout"]=1800

你可能感兴趣的:(自动化测试,Appium自动化,appium)