webdriver(selenium+appium)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webdriver(selenium+appium)相关的知识,希望对你有一定的参考价值。

参考技术A 1、首先是PC端, 测试人员执行测试脚本(java,python等脚本)通过appium client 转换为json格式传递给appium server
2、 appiumserver 启动了一个监听端口例如4724, 同时向手机端adb push 一个bootstrap.jar/bootstrap.js 的脚本,手机端通过该脚本同时监听端口4724
3、PC和手机端就通过这个端口实现了通信和交互,基于socket通信(一个封装了TCP/IP协议的接口)
4、手机端通过该端口传输的命令执行APP, bootstrap里面封装了安卓和苹果的自动化测试框架UIautomator(低版本的安卓是instrumentation ) 执行相应的命令
5、执行完操作后通过端口返回给PC端,PC端根据返回结果 json 做校验,同时也知道了操作是否执行成功

Appium基础三:Appium实现原理

1.web自动化测试用的selenium webdriver 是c/s模式,server端和client端是通过webdriver protocol实现的,而Appium是参考selenium开发的,采用也是webdriver 协议,而底层封装不同平台的测试工具;

2.Appium Android平台架构图:

  

原理:

a. 执行脚本时,client-java将脚本翻译为webdriver 协议,与appium server通过json 进行交互;

b. appium server 通过webdriver协议并将翻译为UI Automator命令,通过bootstrap执行

c. bootstrap 把执行结果转发回appium server

3.Appium IOS平台架构图:

 

原理:

a. 执行脚本时,client-java将脚本翻译为webdriver 协议,与appium server通过json 进行交互;

b. appium server 通过webdriver协议并将翻译为 Instruments命令,通过UIAutomation执行

c.Instruments再把执行结果转发回appium server

 

以上是关于webdriver(selenium+appium)的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 6[OS 9.2] 可以使用 SFSafariViewController、appium 和 Selenium WebDriver 实现自动化吗?

使用appium在android浏览器上运行selenium webdriver脚本,在模拟器上启动浏览器但抛出chromedriver异常

有了selenium为啥还有appium

appuim的简单使用及实例

selenium与appium怎样联系

selenium webdriver 执行测试常见问题