学习Appium测试UWP之实现测试APP基本流程

上一篇 / 下一篇  2017-04-20 14:27:20 / 个人分类:Appium

   昨天学习了Sample的一些代码,今天开始应用到自己测试的APP上,基本实现运行,打开,登录,退出及关闭几个功能。个人感觉还是要在练习代码的过程中学习,学到的东西才印象深刻,主要也是一个解决问题的过程,另外还了解自己需要学习的东西,由于初次接触Junit,Appium和Eclipse,好多好多东西都需要自己慢慢摸索,自己百度学习,学习大牛们总结的经验,收获满满,虽然都是些基本的东西,但对自己来说是个很大的进步~~O(∩_∩)O哈哈~废话不多说,慢慢开始总结。
   在使用Appium测UWP功能时,最主要要解决的问题就是APP界面元素名称及APP安装后的包名。由于我们测试跟开发都是不同的Team,APP的概要设计文档和详细设计文档我们都不可能得到,所以就需要自己使用工具来识别APP界面上的元素或控件的属性。
   Android的APP手机上好像是有个自带的工具,可以使用这个工具来识别APP界面元素的属性,但Windows系统上没有自带的工具,需要自己去百度下载一个,我们下载的是一个sdkInstallers包,里面包含了Windows系统上可以用得到的一些工具,这个包安装后找到安装路径下搜索Inspector这个小工具,就可以识别测试APP的元素的一些属性了。也可以安装Visual Studio2015,安装后C:\Program Files (x86)\Windows Kits\10\bin\x86这个路径下有Inspector.exe这个小工具(https://github.com/Microsoft/WinAppDriver这里介绍了UWP的一些测试注意项)。
  Win10上UWP的名称可以到C:\Users\{CurrentUsername}\appdata\local\Packages路径下找到要测试的APP名称。
  APP名称和界面元素属性都解决后,就开始编写代码咯,吼吼~~

  import org.openqa.selenium.remote.DesiredCapabilities;
import java.util.concurrent.TimeUnit;
import java.net.URL;
import io.appium.java_client.ios.IOSDriver;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class LenovoID {
private static IOSDriver LenovoIDSession=null;
//private static WebElement LenovoIDLogin=null;

//launch LenovoID 
@Before
public void LaunchLenovoID() {
try{
DesiredCapabilities capabilities=new DesiredCapabilities();
capabilities.setCapability("app", "LenovoCorporation.LenovoID_4642shxvsv8s2!App");
LenovoIDSession=new IOSDriver(new URL("http://127.0.0.1:4723"),capabilities);
LenovoIDSession.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
}catch(Exception e){
e.printStackTrace();
}finally{
}
}

@Test
public void SigninLenovoID(){
LenovoIDSession.findElementByName("Email").sendKeys("[输入账号]");
LenovoIDSession.findElementByName("Password").sendKeys("[输入账号密码]");
LenovoIDSession.findElementByName("Sign in").click();
}
@Test 
public void SignoutLenovoID(){
LenovoIDSession.findElementByName("Logout").click();
}
@After
public void CloseLenovoID(){
LenovoIDSession.quit();
}
}


在最开始运行的时候因为在LaunchLenovoID前加了个@BeforeTest,因为不了解注释类里面的具体方法,自己想当然的加了个@BeforeTest,代码本身没有显示错误,运行后抛出nullPointerException
错误,现在用@BeforeTest会显示有error,改成@Before后,就运行正常。在写代码过程中会越来越明白自己需要学习哪些东西


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar