打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
appium+testng自动化测试的第一个Demo(java语言)
参考:http://www.cnblogs.com/tobecrazy/p/4579631.html
创建该项目之前请确保各方面的环境已准备好,环境搭建请参考:
1.打开eclipse创建一java项目
2.添加appium+testng搭建的项目所需的包
          2.1、添加TestNg(右键项目->Build Path->Configure Build Path...)
 2.2、添加AndroidDriver及DesiredCapabilities依赖的包(注意它们的版本,版本不适合可能会出错)
java-client-2.2.0.jar
selenium-server-standalone-2.48.2.jar(版本低了会出错)
加完后的项目: 
 2.3、若需要再集成ReportNg,则需要加reportng所需的包(可选)
guice-3.0.jar
reportng-1.1.4.jar
velocity-dep-1.4.jar
3.在该项目下创建一TestNg Class,"new - > other"如图
  点击 下一步 进入如下图页面(注意Source folder,默认会带上包,此处带包以后所创建的class存放的位置不对):
创建TestNg Class 会生成一testng.xml配置文件
4.AppiumTest.java代码内容
package com.appium.test;

import io.appium.java_client.android.AndroidDriver;

import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;

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.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;

public class AppiumTest {
private AndroidDriver driver;
DesiredCapabilities capabilities = new DesiredCapabilities();
  @Test
  public void loginApp() {
//等待
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
//获得用户名密码输入框
WebElement accountEle = driver.findElement(By.id("com.auto51.checker:id/et_account"));
accountEle.sendKeys("wenbin.li");
WebElement passwordEle = driver.findElement(By.id("com.auto51.checker:id/et_password"));
passwordEle.sendKeys("123456");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
 
//获取检测师app登录按钮元素
WebElement loginButton = driver.findElement(By.id("com.auto51.checker:id/btn_login"));
loginButton.click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
System.out.println("test1................................");
  }
  @BeforeMethod
  public void beforeMethod() {
 try {
//set up appium
File classpathRoot = new File(System.getProperty("user.dir"));//获取跟路径
File appDir = new File(classpathRoot, "apps");
File app = new File(appDir, "checker_2.3.8.apk");//所测app存放的位置
capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("deviceName", "a4572f75");//设备号,通过adb命令获得
capabilities.setCapability("app", app.getAbsolutePath());
capabilities.setCapability("appPackage", "com.auto51.checker");//所测app的包名
//支持中文
capabilities.setCapability("unicodeKeyboard", "True");
capabilities.setCapability("resetKeyboard", "True");
//no need sign
capabilities.setCapability("noSign", "True");
capabilities.setCapability("appActivity", ".ASplashActivity");//主activity,通过appium的客户端可以查看
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("set up.................................");
  }

  @AfterMethod
  public void afterMethod() {
 driver.close();
  }

}
5.TestNg配置文件(该配置文件还是有挺多知识点的,很多属性需要注意,可以深究,这里仅为运行该demo配置)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Appium" parallel="none">
  <test name="Appium1">
      <classes>
     <class name="com.appium.test.AppiumTest"/>
     <methods>        
      <include name="loginApp"/><!--被测的方法名-->
     </methods>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->
6.检查你的appium是否开启/手机是否连接至电脑(在cmd命令行输入:appium   开启)

右键testng.xml配置文件,Run As -> TestNg Suite 则开始运行
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
成年人必须知道的60个资源网站,吐血整理!
2022年日历表(一月一张打印版)
KEGG数据库倒闭了吗
宏--战士宏--通用 老雷
6个完全免费的录音转文字神器,让你事半功倍
视频制作师潘长宏制作的---【精美分隔线】
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服