3

我对 Appium 和测试很陌生。我想使用 Eclipse 和 JUnit 在 Java 中编写我的第一个 Appium 测试。

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

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

例如:据我所见,所有测试布局如下所示:

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 元素?什么是好的做法,我不应该使用哪些方法?

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

问候。

4

3 回答 3

2

嘿,我已经使用 Appium 完成了一些工作,并且需要一段时间才能习惯它。

首先,这个Appium 教程很有帮助,而且我发现这个关于JUnit的教程也很有帮助

需要注意的一件事是代码中重要的事情是注释@Before@After是最重要的,而不是方法的名称setUp()

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

testScriptGoesHere()方法是由于@Test注释而运行的,您可以在其中包含自动化通过应用程序的过程的代码 - 例如登录、浏览活动等。您可以有多个@Test方法,并且每次都将运行每个方法程序运行。

我个人购买了这个,发现它有很大的帮助。

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

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

于 2016-03-30T09:11:54.227 回答
2

链接为您提供了对 junit 的一个很好的概述,尤其是 junit 使用的不同注释。

于 2016-03-30T08:58:02.410 回答
1

@Test , @Before 和 @Before 是上面使用的注解方法定义告诉方法何时执行以及如何执行

@Test -> Annotations 用于标识该方法是执行一系列步骤并将实际结果与预期结果匹配的测试用例。@Before 和 @After -> 注释表示方法在每个测试用例之前和之后执行

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

如果您想了解有关 Appium 的更多信息,请阅读此Appium 教程

于 2016-08-01T17:57:22.137 回答