第一个Appium(java)例子

第一个Appium(java)例子

环境搭建好了后,可以开始写测试脚本了,这里以知乎的客户端为测试对象:

1.      新建Java工程,名字为Appium_zhihu_demo,因为我是用zhihu.apk做测试的

          

2.      在工程下新建apps和libs文件夹,apps文件夹用来放apk包

           

             

3.      配置build path,选择project->右键build path->Configure Build Path…或者直接选择Add                 ExternalArchives…

            

                 

注:我学习的时候参考的资料上是添加的java-client-1.2.1.jar,但后来运行一些脚本的时候有问题,自己又添加了高版本java-client-3.1.0.jar包。

4.      添加jar包完成后,就可以开始新建包->新建java  class了

             

            

5.      开始编写脚本,这里我们测试知乎的注册功能,代码如下(手机号码,登录密码等注册信息输入真实的即可运行成功):

         右键Run as TestNG,运行截图如下:

            

        

     

     eclipse 控制台信息:

     

 

至此,第一个Appium 自动化测试用例完成,测试功能为注册界面的交互。


代码如下:

[java]  view plain  copy
  1. import org.openqa.selenium.remote.DesiredCapabilities;  
  2. import org.testng.Assert;  
  3. import org.testng.annotations.AfterClass;  
  4. import org.testng.annotations.BeforeClass;  
  5. import org.testng.annotations.Test;  
  6.   
  7. import io.appium.java_client.AppiumDriver;  
  8. public class AppiumZhihuRegister {  
  9.     public AppiumDriver driver;  
  10.     private boolean isInstall = false;  
  11.   
  12.     public void startRecord() throws IOException {  
  13.         Runtime rt = Runtime.getRuntime();  
  14.         // this code for record the screen of your device  
  15.         rt.exec("cmd.exe /C adb shell screenrecord /sdcard/runCase.mp4");  
  16.     }  
  17.   
  18.     @BeforeClass(alwaysRun = true)  
  19.     public void setUp() throws Exception {  
  20.         //启动appium  
  21.         DesiredCapabilities capabilities = new DesiredCapabilities();  
  22.         capabilities.setCapability("deviceName","lge-nexus_4-005475cbccd279d4");  
  23.         capabilities.setCapability("automationName","Appium");  
  24.         capabilities.setCapability("platformName","Android");  
  25.         capabilities.setCapability("platformVersion","4.4.2");  
  26.           
  27.        //配置测试apk  
  28.         capabilities.setCapability("appPackage""com.zhihu.android");  
  29.         capabilities.setCapability("appActivity"".app.ui.activity.MainActivity ");  
  30.         capabilities.setCapability("sessionOverride"true);    //每次启动时覆盖session,否则第二次后运行会报错不能新建session  
  31.         capabilities.setCapability("unicodeKeyboard"true);    //设置键盘  
  32.         capabilities.setCapability("resetKeyboard"false);     //设置默认键盘为appium的键盘  
  33.         driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);  
  34.         driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);  
  35.   
  36.         //如果真机设备已经安装知乎,则不需要重新安装  
  37.         if (isInstall) {  
  38.             File classpathRoot = new File(System.getProperty("user.dir"));  
  39.             File appDir = new File(classpathRoot, "apps");  
  40.             File app = new File(appDir, "zhihu.apk");  
  41.             capabilities.setCapability("app", app.getAbsolutePath());  
  42.         }   
  43.         startRecord();  
  44.     }  
  45.   
  46.     @Test  
  47.     public void loginWithMicroBlog() throws InterruptedException {  
  48.         // swipe to right  
  49.         driver.findElementById("com.zhihu.android:id/register_btn").click();  
  50.         driver.findElementById("com.zhihu.android:id/username").sendKeys("手机号");  
  51.         driver.findElementById("com.zhihu.android:id/password").sendKeys("登录密码");  
  52.         driver.findElementById("com.zhihu.android:id/fullname").sendKeys("用户昵称");  
  53.         WebElement NxtBtn=driver.findElementById("com.zhihu.android:id/btn_progress");  
  54.         Assert.assertEquals(NxtBtn.isEnabled(), true);  
  55.         Thread.sleep(2000);  
  56.     }  
  57.   
  58.     @AfterClass(alwaysRun = true)  
  59.     public void tearDown() throws Exception {  
  60.         driver.quit();  
  61.     }  
  62. }  
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值