java - Appium - 关于用 Java 编写测试的问题

标签 java junit appium appium-ios

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

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

问候。

最佳答案

嘿,我已经用 Appium 做了一些工作,需要一段时间才能习惯。

首先关闭这个 Appium tutorial是一个很大的帮助,我还在 JUnit 上找到了这个教程也很有帮助

在你的代码中要注意的一件重要事情是注释 @Before, @After 等是最重要的,而不是方法的名称 设置()

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

testScriptGoesHere() 方法是由于 @Test 注释而运行的,这是您将包含自动执行应用程序过程的代码的地方 - 对于例如登录、浏览 Activity 等。 您可以有多个 @Test 方法,每次运行程序时都会运行每个方法。

我个人购买this并发现它有很大帮助。

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

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

关于java - Appium - 关于用 Java 编写测试的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36303833/

相关文章:

java - 使用数据提供者编写 Java 测试

java - 使用 Maven 运行测试显示类路径问题

java - 我如何更改 android.widget.CheckedTextView 的检查值

java - 如果 JUnit 测试失败则停止测试

java - "Invalid use of argument matchers"但我只使用匹配器

java - 将条目从一个 Multimap 复制到另一个

android - 在 Android Emulator API 24 Nougat 中更改 SimCountryIso

ios - Appium 错误 : Couldn't start Appium REST http interface listener. 请求的地址不可用

java - 如何在java中使用 vector 定义表模型

java - 计算 Set<WeakReference> 堆转储中的引用目标