首先,cmd----->pip show selenium可以查看Selenium的版本号。
求同:
在Python的appium包中实际继承了Selenium,在测试过程中将移动端的页面元素当作是网页来处理,所以Selenium的定位方法也可以使用。
存异:
1)Selenium是web端的自动化测试工具;Appium是移动端的自动化测试工具。
2)Appium本身就是一个server;Selenium1的代理server是seleniumRC,Selenium3废弃了server,用webdriver来驱动浏览器。
自动化测试脚本(乘客):自动化测试脚本发送请求给浏览器驱动(比如火狐驱动、谷歌驱动)
浏览器驱动(出租车司机):接收并解析这些请求,然后转发给浏览器。
浏览器(出租车):接收指令,并执行指定的操作。
1)执行每一条Selenium脚本,都会创建并发送一个http请求给浏览器驱动。
2)浏览器驱动中包含了一个HTTP Server,用来接收这些http请求。
3)HTTP Server接收到请求后,根据请求来具体操控对应的浏览器。
4)浏览器执行具体的测试步骤。
5)浏览器将执行结果返回给HTTP Server。
6)HTTP Server又将结果返回给Selenium脚本。如果是错误的http代码,就会在控制台显示对应的报错信息。
1)Appium Server
Appium Server是Appium的服务端,是测试脚本和设备端交互的桥梁,是一个使用Node.js实现的web接口服务。
通过cmd----->npm install -g appium安装,没有界面。
通过cmd----->appium启动。
2)Appium Desktop(前身是Appium GUI)
Appium Desktop是一款适用于Mac,Windows和Linux的开源应用程序
从 http://appium.io/ 下载安装,有美观而灵活的用户界面,提供Appium自动化服务器的强大功能。
3)Appium Client
因为Appium是一个C/S结构,有服务端就肯定有客户端。客户端Appium Clients就是我们写测试脚本时导入的包,它会给服务端Appium Server发送请求会话以操作设备端的APP。就像我们浏览器访问网页,浏览器是客户端,通过操作发送请求服务器来获取数据。
Python中通过cmd----->pip install Appium-Python-Client安装。
1)启动设备
2)启动 appium-deskstop 服务器
3)使用脚本语言连接 appium 和 python
4)借助appium-python-client, 将命令发送给appium服务器
5)appium服务器接收指令并传送命令给指定设备
6)执行命令操作
1)Appium Client 是我们编写的 Webdriver 脚本,中间是 Appium 启动 Server (默认监听 4723 端口 )。Appium Client 向 Appium Server 发送命令,Appium Server 解析命令并转发给Bootstrap.jar。
2)首先,Bootstrap 是 Appium 运行在安卓目标测试机上的一个 UiAutomator 测试脚本,所以 Appium 命令可以转换成 Uiautomator 命令。其次,Bootstrap是一个socket服务器,专门监听4723端口获得 Appium 发送的连接请求和命令数据,并把 Appium 命令转换成 Uiautomator 命令来让 Uiautomator 处理。
3)Bootstrap 将执行结果返回给 Appium Server,Appium Server 再将结果返回给 Appium Client。