2016-03-30 23 views
2

我对Appium和测试颇为陌生。我想用Eclipse和JUnit编写我的Java第一个Appium测试。Appium - 有关在Java中测试的问题

我已经写了一个简单的测试,什么都不做。它编译到目前为止,但我不知道发生了什么...

我想知道测试如何工作的一般。我在编程方面已经有一些经验,因此一些行动对我来说有点奇怪:)。

例如:据我可以看到所有测试的布局是这样的:

public class AppiumIOSTest { 

    private WebDriver driver; 

    @Before 
    public void setUp() throws Exception { 

     DesiredCapabilities capabilities = new DesiredCapabilities(); 
     capabilities.setCapability("platformName", "ios"); 
     capabilities.setCapability("platformVersion", "9.2"); 
     capabilities.setCapability("deviceName","iPhone 6"); 
     capabilities.setCapability("app", "TestApp.app"); 


     driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); 
    } 

    @After 
    public void tearDown() throws Exception { 
     driver.quit(); 
    } 


    @Test 
    public void testScriptGoesHere() throws Exception { 

    } 
} 

但我在哪里可以找到文件,告诉我写一个测试布局是这样的。我的意思是,为什么setUp()第一个叫 - 从哪里? 我需要一个构造函数和析构函数吗? 为什么要调用testScriptGoesHere(),如果我不止一次测试,该怎么办?

如何访问应用中的UI元素? 什么是好的做法和哪些方法我不应该使用?

所以我想有任何我可以使用的文档。到目前为止,我还没有在Google上发现任何东西,但也许我的关键字不匹配...?

迎接。

+3

JUnit的文档放在这里:http://junit.sourceforge.net/javadoc/ appium的介绍在这里:http://appium.io/introduction .html?lang = en 最佳做法根据用户调整 – nullpointer

+0

将问题标记为太宽 – nullpointer

+0

谢谢。我已经知道了Appium的文档。但是这些文件对我的问题没有帮助。例如:我可以重命名'setUp()'方法吗?还是这个名称定义在任何地方固定指定? –

回答

1

嘿,我已经做了一些与Appium的工作,就像它花了一段时间去适应它。

首先这Appium tutorial是一个很大的帮助,我也发现了这个教程JUnit也有很大的帮助

有一点要注意,你的代码,重要的是注释@Before@After等是最重要的,而不是方法setUp()的名称。

由于@Before注释的原因,setUp()方法在每次测试之前运行,并且您始终必须包含设备的功能 - 设备名称,版本,平台名称以及要测试的应用的链接/名称。然后这些必须链接到appium服务器。

testScriptGoesHere()方法,因为@Test标注的跑,这是你将包括自动化的经历的应用过程中的代码 - 例如登录,通过活动等导航 你可以有多个@Test方法每次程序运行时都会运行每个程序。

我个人购买了this,发现它很有帮助。

由于注释运行JUnit测试,因此不需要构造函数或解构器。

要测试原生Android应用程序,我使用了UIAutomatorViewer来访问元素。对于混合应用程序,我使用了Google Chrome控制台和使用Xcode查看元素的iOS应用程序。

+0

谢谢。如果我指定的不仅仅是一个测试,那么测试执行的顺序是什么? –

+0

据我所知他们是从上到下排列的。 – Dan

+0

@SteveMurdock:测试是随机执行的,除非你为任何指定'dependsOnMethod'。这应该有助于你理解:http://stackoverflow.com/questions/3693626/how-to-run-test-methods-in-specific-order-in-junit4 – nullpointer

1

link给你一个很好的junit概述,尤其是junit使用的不同注释。

0

@Test,@Before和@Before是上述方法认定中使用的注释告诉方法何时执行以及如何执行

@Test - >注解用于标识该方法是一个测试用例执行系列并将实际结果与预期结果进行匹配。 @Before和@After - >注释意味着指导在每个测试用例之前和之后执行的方法

现在您可以看到用方法setup()编写的代码将在每个测试用例之前执行并调用Appium API进行测试用例支持(包括启动应用程序的平台设置)。同样的方法拆卸方法关闭了应用程序并退出测试用例执行。

如果您想了解更多关于Appium然后阅读本Appium Tutorial