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下载”,然后选择第一个点进去,如下图
然后
然后傻瓜式安装。
安装好后就可以打开了。
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自动化环境安装配置以及简单测试用例编写(模拟器真机)