转:http://blog.youkuaiyun.com/niubitianping/article/details/52523239
使用Android Studio创建测试脚本
1. 创建项目
打开我们的AS,因为As不能创建JAVA项目,所以我们先创建一个android项目,然后New一个Javalibrary的module,如图。
这里我创建一个AutoTestAppium项目,一直下一步,等待项目创建完毕,如图
2. 创建module
File - New - New Module - 选择 java library,module名字为你喜欢,我这里为DemoTest,类名为AndroidContactsTest,,如图
创建完module是这样的,如图
3. 创建文件夹
as 项目切换到project视图下
1. 创建libs文件夹
用来放jar包。 在java文件夹上右击,New packeage ,名字为libs
2. 创建apps文件夹
放需要测试的app。和上面一样,java文件夹上右击创建,名字为apps,
4.导入jar 和 apk
1. 把之前打包下载的两个jar包拷贝到libs文件夹下
java-client-4.1.2.jar
selenium-server-standalone-3.0.0-beta3.jar
2. 然后选中这两个jar,右击,Add as library,选择demotest这个module,确定,等待一下编译完毕,jar导入完毕。
3. 最后把你需要调试的app复制到apps文件夹下。这里先不做,跟着做下面的。
5.编写测试脚本
由于刚刚开始大家不会编写,所以先看一下demo,例如官方的
1. 下载官方的测试程序:
https://github.com/appium/sample-code/blob/master/sample-code/apps/ContactManager/ContactManager.apk
放到apps目录下
2. 下载官方的测试源码:
官方的这个栗子的源码已经删掉了。但是源码可以在下一篇文章的开头有,自己去拷贝一下。
public class AndroidContactsTest { //Driver private AppiumDriver<AndroidElement> driver; /** * 配置启动driver * @throws Exception */ @Before public void setUp() throws Exception { File classpathRoot = new File(System.getProperty("user.dir")); //app的目录 File appDir = new File(classpathRoot, "/src/main/java/apps/"); //app的名字,对应你apps目录下的文件 File app = new File(appDir, "ContactManager.apk"); //创建Capabilities DesiredCapabilities capabilities = new DesiredCapabilities(); //设置要调试的模拟器的名字 capabilities.setCapability("deviceName","minote"); //设置模拟器的系统版本 capabilities.setCapability("platformVersion", "4.4.2"); //设置app的路径 capabilities.setCapability("app", app.getAbsolutePath()); //设置app的包名 capabilities.setCapability("appPackage", "com.example.android.contactmanager"); //设置app的启动activity capabilities.setCapability("appActivity", ".ContactManager"); //启动driver driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @After public void tearDown() throws Exception { //测试完毕,关闭driver,不关闭将会导致会话还存在,下次启动就会报错 driver.quit(); } /** * 要执行的的测试方法 */ @Test public void addContact(){ //利用Xpath的方法寻找text值为Add Contact的控件 WebElement el = driver.findElement(By.xpath(".//*[@text='Add Contact']")); //点击这个控件 el.click(); //利用类名获取界面上所有的EditText List<AndroidElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText"); //第一个EditText输入内容Some Name textFieldsList.get(0).sendKeys("Some Name"); //第三个EditText输入内容Some Name textFieldsList.get(2).sendKeys("Some@example.com"); //在坐(100,500)滑动到(100,100) 时间为2毫秒 driver.swipe(100, 500, 100, 100, 2); //用xpath的方式寻找到text值为Save的控件,然后点击 driver.findElementByXPath(".//*[@text='Save']").click(); } }
把源码拷贝到你的AndroidContactsTest类中,这时候是这样的:
3. 开启模拟器
我这里用的是夜神模拟器
4. 运行之前安装完毕的 appium
打开的界面是这样的,这时候点击右上角的 三角按钮,启动appium
等待十秒左右,输出调试信息,开启成功!
5. 修改模拟器的名字,查看模拟器系统版本
appium需要设置调试设备信息。这里我设置了minote,然后在模拟器系统设置查看系统版本,夜神为4.4.2
6. 修改测试脚本
主要是把app的路径、调试设备名字、系统版本 修改。 就在路径那里,我就被坑了好久。
修改成下图那样
7. 开始跑起来
在当前脚本编辑器中,右键,Run AndroidContactsTest。
然后底部会提示Gradle build Running,这是在编译脚本,再等一下就会会出现这样的界面
ps: 如果有这样报错,就是断开链接了,解决方法看我这篇文章: http://blog.youkuaiyun.com/niubitianping/article/details/52624417
看到底部运行的照片后,再看模拟器,就会安装三个app: 你要调试的Contact Manage、AppiumSetting、Unlock,然后就会自动打开Contact Manage,自动操作添加联系人。看动图。
ok,你的Appium能跑起来了。接下来了解一下一些基础知识。