Appium+java+Mac自动化测试(eclipse脚本编写)

Posted 软件测试培训

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Appium+java+Mac自动化测试(eclipse脚本编写)相关的知识,希望对你有一定的参考价值。


顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,

主文件是:zentao.py 。bugreport是禅道,script是python3+selenium 3,按照规则在禅道上书写的bugreport可由zentao.py程序生成py测试脚本。


https://item.jd.com/34295655089.html

https://item.jd.com/12082665.html


店铺二维码:


来源:http://www.51testing.com


 1.Eclipse安装

  百度一下“eclipse下载”,然后选择第一个点进去,如下图

Appium+java+Mac自动化测试(eclipse脚本编写)

  然后

Appium+java+Mac自动化测试(eclipse脚本编写)

  然后傻瓜式安装。

  安装好后就可以打开了。

  2.创建工程,文件。略,网上一大堆。

  2.5集成maven、testing插件,百度一下,花费十多分钟就可以,主要是下载需要时间,确认集成成功了,不要慌。

  3.写脚本

  在工程里面新建一个lib 文件夹,然后去这里下载需要的jar包

  http://download.csdn.net/download/zhouchuandake/10193801

  下载后放到lib文件夹里面,然后右键一个个加入工程,不会的百度一下,怎么添加jar包。

  然后新建一个app目录,里面放要测试的安装包.apk,我这里放的是花生地铁Wi-Fi的安装包,可以去豌豆荚历史版本中下一个放进来,版本4.*的就可以。

  目录大概这样:

  然后新建一个类,开始写脚本

   package nfyg.testapp;

  import java.io.File;

  import java.io.IOException;

  import java.net.URL;

  import java.util.concurrent.TimeUnit;

  import org.openqa.selenium.remote.CapabilityType;

  import org.openqa.selenium.remote.DesiredCapabilities;

  import org.testng.Assert;

  import org.testng.annotations.Test;

  import io.appium.java_client.AppiumDriver;

  import io.appium.java_client.android.AndroidDriver;

  import nfyg.testapp.utils.UtilGesture;

  import nfyg.testapp.utils.UtilOnClick;

  @Test

  public class StartApp<IChimpDevice> {

  public static AppiumDriver driver;

  public static AppiumDriver getDriver() {

  return driver;

  }

  public static void setDriver(AppiumDriver driver) {

  StartApp.driver = driver;

  }

  private boolean isInstall = false;//可以删除

  public void startDriver() throws Exception {

  // set up appium设置apk路径

  File classpathRoot = new File(System.getProperty("user.dir"));

  File appDir = new File(classpathRoot, "app");

  File app = new File(appDir, "app-release.apk");//与app文件夹里的文件名字要一致

  System.out.println(app.getAbsolutePath());// 获取绝对路径

  // 启动appium

  DesiredCapabilities capabilities = new DesiredCapabilities();

  // 设置apk 的路径

  capabilities.setCapability("app", app.getAbsolutePath());

  // no need sign 安装时不对apk进行重签名,设置很有必要,否则有的apk在重签名之后无法正常使用

  capabilities.setCapability("noSign", "True");

  capabilities.setCapability("deviceName", "9da9a9347d23");//手机设备号

  capabilities.setCapability("automationName", "Appium");

  capabilities.setCapability("platformName", "Android");

  capabilities.setCapability("platformVersion", "6.0.1");// 手机系统版本

  capabilities.setCapability("appPackage", "com.nfyg.hsbb");//要测试的app包名

  capabilities.setCapability("appActivity", ".views.main.CoverActivity");//app的启动类

  capabilities.setCapability("sessionOverride", true); // 每次启动时覆盖session,否则第二次后运行会报错不能新建session

  capabilities.setCapability("unicodeKeyboard", true); // 设置键盘support Chinese支持中文输入

  capabilities.setCapability("resetKeyboard", true); // false设置默认键盘为appium的键盘,true为系统键盘

  capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); // 指定浏览器的名字,我们测试的是APK所以没有浏览器,故而为空;

  // //指定需要测试的APK,也就是需要安装的APK文件;

  driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

  driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

  //到这里就已经把app启动起来了,下面的是操作动作,滑动与点击

  // UtilGesture.swipeToLeft(driver, 1000, 5);//滑动

  // UtilGesture.swipeToRight(driver, 1000, 4);

  // UtilGesture.swipeToDown(driver, 1000, 2);

  // UtilGesture.swipeToUp(driver, 1000, 3);

  // UtilGesture.swipeToLeft(driver, 1000, 5);

  // UtilGesture.swipeToDown(driver, 1000, 2);

  // UtilGesture.swipeToUp(driver, 1000, 3);

  Assert.assertEquals(2, 2, "Not equals: ");//断言举例,先不管

  // UtilOnClick.onClick("com.nfyg.hsbb:id/click_view", driver);//点击动作,先不管

  }

  /**

  * 录视频,这里可以先不管

  */

  public void startRecord() throws IOException {

  // Runtime rt = Runtime.getRuntime();

  // // this code for record the screen of your device

  // rt.exec("cmd.exe /C adb shell screenrecord --time-limit 3 --size 1280*720

  // /storage/runCase.mp4");

  }

  }

  代码拷贝进来后,确认没有错误

  4.然后用数据线连接Android手机到Mac

  打开终端,输入adb devices回车,就会看到刚刚USB连接的手机的设备号,如果没有出来,那就确认下有没有打开设备的开发者模式、有没有允许手机的USB安装权限、USB调试权限。

  获取设备号后,替换代码里面的手机设备号。

  5.然后选中类,右键选择testing运行

  然后就跑起来了。app会自动安装在手机并启动。


星云测试

http://www.teststars.cc

奇林软件

http://www.kylinpet.com

联合通测

http://www.quicktesting.net


顾翔凡言:

       软件测试正在生病,而且病得不轻,自动化测试被要不吹得太火,要不一点都不会,自动化比不过开发、测试又找不到缺陷,丢了西瓜也捡不到芝麻。


以上是关于Appium+java+Mac自动化测试(eclipse脚本编写)的主要内容,如果未能解决你的问题,请参考以下文章

Mac + Appium + Java1.8学习之Android模拟器自动化测试脚本开发以及简易例子

Mac + Appium + Java1.8学习之IOS自动化环境安装配置以及简单测试用例编写(模拟器真机)

Mac下搭建appium自动化测试环境

移动端自动化测试-Mac-IOS-Appium环境搭建

Mac&Appium&Python自动化测试-环境搭建之安卓SDK

Appium移动自动化测试--Mac安装Appium