我比较熟悉的是Java代码,Appium也支持多种语言的测试。所以第一个例子还是用最熟悉的语言吧。熟悉原理之后再试试其他的语言。
依赖的jar包:(相关依赖包已上传百度云盘,文章最后有共享路径)
java-client-2.2.0.jar
selenium-server-standalone-2.46.0.jar
testng-6.8.8.jar
1. eclipse安装testng的插件:
离线安装包:eclipse-testng离线包.zip。安装步骤:
解压zip把,将plugins和features目录里的内容分别拷贝到eclipse目录下的plugins和features目录里。
重启eclipse。邮件任意个项目 new->Others->在Select Wizard查询框中输入TestNG。显示如下界面即可。
2. 新建java项目,将以下三个jar包添加到build path。
java-client-2.2.0.jar
selenium-server-standalone-2.46.0.jar
testng-6.8.8.jar
项目下新建Apps目录,将notepad.apk拷贝到目录。
3.测试代码:
package com.com.test; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import io.appium.java_client.android.AndroidDriver; import java.io.File; import java.net.URL; public class AppDemo { private AndroidDriver driver; @BeforeMethod(alwaysRun=true) public void setUp() throws Exception { // set up appium File classpathRoot = new File(System.getProperty("user.dir")); File appDir = new File(classpathRoot, "apps"); File app = new File(appDir, "notepad.apk"); System.out.println(app.isFile() + "==" + app.exists()); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("deviceName","Android Emulator"); capabilities.setCapability("platformVersion", "23"); capabilities.setCapability("app", app.getAbsolutePath()); capabilities.setCapability("appPackage", "com.example.android.notepad"); capabilities.setCapability("appActivity", "com.example.android.notepad.NotesList"); driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @AfterMethod(alwaysRun=true) public void tearDown() throws Exception { driver.quit(); } @Test(groups={"noteTest"}) public void noteTest1() { driver.sendKeyEvent(82); try { Thread.sleep(1000); }catch(Exception e) { System.out.println(e.getMessage()); } //Click on the "Add Note" menu entry WebElement el = driver.findElement(By.name("Add note")); el.click(); //Enter the note info and save it WebElement text = driver.findElementByClassName("android.widget.EditText"); text.sendKeys("Hello World"); driver.sendKeyEvent(82); el = driver.findElement(By.name("Save")); el.click(); }
4. 启动模拟器。一定要等到模拟器的首页出现,如果一直停在黑色屏幕并中间带Android字样的界面是没法测试的。
5. 启动Appium。我安装的时候创建了桌面图标,直接点击就可以。注意: Appium界面右上角有一个开始按钮要点一下。等到如下面界面即Appium启动成功。
相关推荐
RobotFrameWork+APPIUM实现对安卓APK的自动化测试,从安装到使用,包括原理、函数、实例等介绍
移动应用测试Appium书籍(9本)目录知识点整理(思维导图加图).rar 根据如下9本移动应用测试、Appium书籍整理: ...2020年《全栈自动化测试实战——基于TestNG、HttpClient、Selenium和Appium》
appium做移动端自动化测试
上次传的手机自动化测试之Appium+源码,忘记带上必须的jar包了,这里补上。
appium手机自动化测试讲解appium手机自动化测试讲解appium手机自动化测试讲解
Appium自动化测试完整案例,讲的很详细,适合初学者
robotframework和appium结合进行android的自动化测试 ,很方便
Appium自动化测试工具介绍
移动app测试相关资料,内有appium自动化测试教程,monkey、fiddler抓包工具使用方法,及app测试的相应内容
自动化测试全套工具(含jdk 、Android SDK、Extra、.net framework。NODE)自动化测试全套工具之二Appium
APPIUM自动化测试例子:安卓系统仿真,调用计算器例子,安卓版本5.1.1,版本可以通过修改文档参数platformVersion更改
文档为手机自动化测试之Appium的android篇,非常详细的描述了所需的软件、环境配置、软件的安装及真机测试结果。另外还有一个appium源码及测试所需的android项目
《appium手机自动化测试-黄延胜》
appium自动化(图文教程),主要是针对Android自动化测试,从入门到精通
微信小程序自动化测试方案,基于Appium移动端测试框架、pytest测试用例管理框架,使得UI测试更易于实施。
基于最新的XCUITEST框架的iOS自动化测试介绍,关键技术包含: appium,xcuitest,app-inspector,iOS自动化测试环境搭建
本文档主要是介绍如何使用appium来进行UI自动化测试,从appium工具的安装、原理、使用,到自动化框架的简单介绍。(注:文档个人整理)
自动化测试appium
文档为手机自动化测试之Appium的android篇,非常详细的描述了所需的软件、环境配置、软件的安装及真机测试结果。
该文档主要讲述如何使用appium进行自动化测试,包括环境搭建,appium基础和各种操作等