首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有Appium的PhoneGap安卓应用程序自动化

带有Appium的PhoneGap安卓应用程序自动化
EN

Stack Exchange QA用户
提问于 2018-04-26 07:54:02
回答 1查看 58关注 0票数 0

我使用JUnit进行自动化测试,将上下文更改为混合应用程序,经过测试后,我将生成输出excel文件并得到结果。我对自动化很陌生,找到了一种方法,如果没有找到什么东西,等等,使用try / catch块来填充excel文件的结果。我认为,所有的东西看起来都很有魅力,但是当有一个长测试用例(有很多测试步骤)时,我就有问题了,如果有什么东西进入了"catch块“,那么excel文件中的测试步骤在”失败“测试步骤之后被标记为"Pass”。我想解决这个问题。如果某个测试步骤被标记为"FAIL“,那么他下面的所有其他测试步骤是否也会被标记为"FAIL”之类的。

代码语言:javascript
复制
public class LoginProcess extends Settings {
static SXSSFWorkbook workbook;
public static String[] columns = { "TestStep", "ExpectedResult", "Pass/Fail" };
public static List<TestCaseForExcel> testCases = new ArrayList<>();

@Before
public void BeforeTest() throws MalformedURLException, InterruptedException {
    Capabilities();

}

@Test
public void TC_1_LoginProcess() throws MalformedURLException, InterruptedException {


        try {
            driver.findElement(By.xpath("/html/body/div[2]")).isDisplayed();
            testCases.add(new TestCaseForExcel("Opened Customer application", "Splash screen opened", "PASS"));
        } catch (Exception e) {
            testCases.add(new TestCaseForExcel("Opened Customer application", "Splash screen opened", "FAIL"));

        }

        // Click on Login Button
        try {
            driver.findElement(By.className("button-simple")).click();
            testCases.add(new TestCaseForExcel("Press Login button", "Login screen opened", "PASS"));
        } catch (Exception e ) {
            testCases.add(new TestCaseForExcel("Press Login button", "Login screen openedd", "FAIL"));

        }

}   

在这种情况下,如果xpath中断,且元素未显示,则第二个测试步骤被写为"PASS“,由于第一个测试步骤”失败“,它甚至没有被正确检查。

EN

回答 1

Stack Exchange QA用户

回答已采纳

发布于 2018-04-26 17:32:44

如果某个测试步骤被标记为"FAIL“,那么他下面的所有其他测试步骤是否也会被标记为"FAIL”之类的?

在测试开始时,声明一个布尔值作为您的标志,并包装每个try catch。

代码语言:javascript
复制
var keepGoing = true;
if (keepGoing) {
    try {
        // your code
    } catch {
        // your code
        keepGoing = false;
    }
}
// rinse repeat

这就完成了任务,但我不认为这是最佳实践。这就是断言出现的地方。如果您断言一个条件而它失败了,则测试方法将停止它的跟踪(通过抛出一个异常,然后将其记录下来)。

票数 0
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/33355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档