appium的python客户端
Appium-Python-Client的Python项目详细描述
Appium Python客户端
<<<<<<<
一个扩展库,用于添加selenium 3.0草稿和移动json有线协议草稿。 python语言绑定的功能,用于移动测试 框架appium
获取appium python客户端
安装和使用Appium Python客户端有三种方法。
从pypi安装 "appium-python-client"
啊!您可以在这里查看历史记录
从源代码安装,通过pypi。从'appium-python-client', 下载并取消归档源tarball(appium-python-client-x.x.tar.gz)。
啊!通过github从源代码安装 啊!
开发
- 风格指南:https://www.python.org/dev/peps/pep-0008/" rel="nofollow">https://www.python.org/dev/peps/pep-0008/
autopep8
有助于自动格式化代码 啊!isort
有助于自动订购导入 啊!
- 您可以定制changelog.rst
- 它生成可读的变更日志
- 设置
pip安装--用户pipenv
python-m pipenv lock—清除
- 如果您遇到下面的错误,请参阅解决该错误的方法。 啊!
python-m pipenv install--dev--system
预提交安装
运行测试
您可以在本地通过tox
运行在CI上运行的所有测试。
您还可以运行下面这样的特定测试。
单位
AAAAAAAAA 8使用 遵循以下步骤。 Appium Python客户端完全符合Selenium 3.0规范
Draft,和一些助手一起使用python进行移动测试更容易的。大多数
selenium 2(webdriver)的用法与以前一样,并且作为官方
selenium python绑定开始
实现将在下面使用的新规范,因此
可以编写两种绑定都可用的测试代码。 现在使用新功能,并使用函数的超集,而不是
在测试代码中包含selenium 从那以后,您的大部分测试代码都将在没有更改的情况下工作。 作为以下代码示例的基础,下面设置单元测试
环境: 改变的方法是… 如果Selenium/Appium服务器使用以下键装饰新的会话功能响应: 然后python客户端将其端点切换到由这些键的值指定的端点。 对于移动测试,selenium在windows之间切换的方法以前是
用于在本机应用程序和WebView上下文之间切换。方法
为此,Selenium 3规范中已明确添加了此内容,因此
转发将使用这些"上下文"方法。 获取当前上下文,而不是调用driver.current_window_handle
使用< > > 不使用driver.window_handles来检索可用的上下文,而是使用 最后,要切换到新上下文,而不是 这允许使用递归元素找到ios应用程序中的元素
使用uiautomation库进行搜索。iOS设备支持此方法
它仍然支持uiautomation,也就是说,在xuitest之前的版本。 添加方法 这允许使用递归元素找到android应用程序中的元素
使用uiautomator库进行搜索。添加方法 此方法允许使用view tags查找元素。
此方法适用于浓缩咖啡驱动程序。
添加方法 此方法允许使用ios谓词查找元素。这些方法需要
谓词格式的字符串,包括元素类型和
字段。
添加方法
此方法仅适用于xcuitest驱动程序
此方法允许使用ios类链查找元素。采取的方法
类链格式的字符串,包括元素类型。 添加方法DS
pytest-xdist运行
啊!
功能性
啊!
与iOS并行
释放
用法
webdriver
模块,使用
取而代之的是Appium。pip install Appium-Python-Client
4
pip install Appium-Python-Client
5
pip install Appium-Python-Client
6
更改或添加的功能
直接连接URL
DirectConnectProtocol
directconnecthost
直接连接端口
directconnectpath
pip install Appium-Python-Client
7
在"本机"和"网络视图"之间切换
pip install Appium-Python-Client
8
pip install Appium-Python-Client
9
driver.switch_to.window(name)
,
使用比较上下文方法tar -xvf Appium-Python-Client-X.X.tar.gz
cd Appium-Python-Client-X.X
python setup.py install
0
通过iOS uiAutomation搜索查找元素
驱动程序。按iOS uiAutomation查找元素
以及驱动程序。按iOS uiAutomation查找元素
tar -xvf Appium-Python-Client-X.X.tar.gz
cd Appium-Python-Client-X.X
python setup.py install
1
tar -xvf Appium-Python-Client-X.X.tar.gz
cd Appium-Python-Client-X.X
python setup.py install
2
通过android uiautomator搜索查找元素
driver.find_element_by_android_uiautomator
以及驱动程序。通过Android uiAutomator查找元素
tar -xvf Appium-Python-Client-X.X.tar.gz
cd Appium-Python-Client-X.X
python setup.py install
3
tar -xvf Appium-Python-Client-X.X.tar.gz
cd Appium-Python-Client-X.X
python setup.py install
4
通过Android ViewTag搜索查找元素
driver.find_element_by_android_viewtag
和driver.find_elements_by_android_viewtag
tar -xvf Appium-Python-Client-X.X.tar.gz
cd Appium-Python-Client-X.X
python setup.py install
5
tar -xvf Appium-Python-Client-X.X.tar.gz
cd Appium-Python-Client-X.X
python setup.py install
6
通过ios谓词查找元素
driver.find_element_by_ios_predicate
和find_elements_by_ios_predicate
tar -xvf Appium-Python-Client-X.X.tar.gz
cd Appium-Python-Client-X.X
python setup.py install
7
tar -xvf Appium-Python-Client-X.X.tar.gz
cd Appium-Python-Client-X.X
python setup.py install
8
按ios类链查找元素
驱动程序。按iOS类链查找元素
和按iOS类链查找元素
tar -xvf Appium-Python-Client-X.X.tar.gz
cd Appium-Python-Client-X.X
python setup.py install
9
git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install
0
按辅助功能ID查找元素
允许使用"辅助功能ID"找到元素。这些方法需要
表示附加到给定元素的辅助功能ID或标签的字符串,例如,对于iOS,辅助功能标识符;对于Android,内容描述。添加方法
驱动程序。按辅助功能ID查找元素
和按辅助功能ID查找元素
git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install
1
git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install
2
触摸操作
为了适应移动触摸操作,触摸操作涉及 多指针,selenium 3.0草案指定多动作离子",建立在触摸操作的基础上。
移动到:请注意,如果没有元素,请使用关键字参数
api是围绕touchAction
对象构建的,这些对象是要按顺序执行的一个或多个操作的链。操作如下:
执行
perform
方法将链发送到服务器以便执行。它还清空操作链,以便可以重用对象。它将位于所有单个动作链的末端,但在编写多个动作链时未使用。
轻触
tap
方法是独立的,不能与其他方法链接。如果需要启动较长链的类似于轻触的操作,请使用
按
它可以采用具有可选x-y偏移量的元素,也可以采用攻丝的绝对x-y坐标和可选计数。
git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install
3
按
长按
释放
移动到
等待
取消
多点触控操作
除了在单个手势中执行的动作链之外,还可以同时执行多个链,以模拟多个手指动作。这是通过构建一个multiaction
对象来实现的,该对象包含多个单独的touchaction
对象,每个"手指"一个。
如果两个列表相邻,我们可以独立滚动,但同时滚动:
git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install
4
特定于Appium的触摸操作
移动测试人员需要做的操作很少,使用touch和multi-touch action api构建这些操作相对复杂。为此,我们在Appium客户端中提供了一些方便的方法。
驱动程序。点击
这个方法,在webdriver对象上,允许用多个手指轻敲,只需传入一个要轻敲的x-y坐标数组即可。
git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install
5
驱动程序。轻扫
从一点刷到另一点。
应用程序管理方法
有时您希望在测试中管理正在运行的应用程序, 例如安装或删除应用程序等。
后台应用程序
方法将正在运行的应用程序发送到后台 在指定的时间内,以秒为单位。在那之后,申请是 回到前台。
git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install
6
检查是否安装了应用程序
要检查设备上当前是否安装了应用程序,请使用设备。是否安装了应用程序
方法。此方法获取应用程序的bundle id并返回true
或
false
git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install
7
安装应用程序
要在设备上安装未安装的应用程序,请使用设备。安装应用程序, 发送到应用程序文件或存档的路径。
git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install
8
"H4>雷莫保存应用程序如果需要从设备中删除应用程序,请使用设备。删除应用程序, 传入应用程序ID。
git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install
9
关闭和启动应用程序
要启动在所需功能中指定的应用程序,请调用driver.launch_app。 关闭应用程序由驱动程序启动。关闭应用程序
$ python -m autopep8 -r --global-config .config-pep8 -i .
0
重置应用程序
要重置正在运行的应用程序,请使用driver.reset
$ python -m autopep8 -r --global-config .config-pep8 -i .
1
其他方法
开始任意活动
driver.start_activity方法打开设备上的任意活动。 如果活动不是被测应用程序的一部分,它也将 启动活动的应用程序。
$ python -m autopep8 -r --global-config .config-pep8 -i .
2
检索应用程序字符串
property方法driver.app_strings
从
设备上的应用程序。
$ python -m autopep8 -r --global-config .config-pep8 -i .
3
向Android设备发送关键事件
driver.keyevent方法向设备发送一个keycode。密码可以是 在这里找到。 仅限于Android。
$ python -m autopep8 -r --global-config .config-pep8 -i .
4
在iOS中隐藏键盘
要在iOS中隐藏键盘,请使用driver.hide_keyboard
。如果密钥名
发送时,将按具有该名称的键盘键。如果没有参数
传入时,键盘将通过点击文本外部的屏幕来隐藏
场,从而消除焦点。
$ python -m autopep8 -r --global-config .config-pep8 -i .
5
$ python -m autopep8 -r --global-config .config-pep8 -i .
6
检索当前正在运行的包和活动
property方法返回当前包的名称 设备上运行的程序包。
$ python -m autopep8 -r --global-config .config-pep8 -i .
7
属性方法driver.current_activity
返回当前
设备上正在运行的活动。
$ python -m autopep8 -r --global-config .config-pep8 -i .
8
直接在元素上设置值
有时需要直接在设备上设置元素的值。做
这将调用方法driver.set_value
或元素.set_value
。
$ python -m autopep8 -r --global-config .config-pep8 -i .
9
从设备中检索文件
要从设备中检索文件的内容,请使用driver.pull_file 返回在base64中编码的指定文件的内容。
$ python -m isort -rc .
0
在设备上放置文件
要将文件放在设备的特定位置,请使用驱动程序.push_file
方法,它接受路径和数据,编码为base64,写入文件。
$ python -m isort -rc .
1
结束测试覆盖率
android模拟器中有一些功能可以检测某些活动。
有关此方面的信息,请参阅appium docsappium docs。结束这个报道
并检索数据,使用driver.end_test_coverage
,传入意图
正在对其进行检测,并且指向上的coverage.ec
文件的路径
设备:
$ python -m isort -rc .
2
锁定设备
要在iOS上锁定设备一定时间,请使用driver.lock
。这个
参数是解锁前等待的秒数。
摇动设备
要摇动设备,请使用driver.shake
应用程序设置
设置是appium引入的一个新概念。它们目前不是mobile json wire协议或webdriver规范的一部分。
设置是指定Appium服务器行为的一种方式。
设置为:
可变的,它们可以在会话期间更改 仅在会话期间适用。每次新会话都会重置它们。 控制appium服务器在测试自动化期间的行为方式。它们不适用于控制正在测试的应用程序或设备。
有关详细信息,请参见文档。
获取设置:
$ python -m isort -rc .
3
设置设置:
$ python -m isort -rc .
4