51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2087|回复: 0
打印 上一主题 下一主题

第一个Appium(java)例子

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-4-4 17:11:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一个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 自动化测试用例完成,测试功能为注册界面的交互。



代码如下:

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


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-26 03:09 , Processed in 0.069841 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表