首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Appium系列|测试脚本实现 (二)

版本号校验脚本实现

这个小节我们会来实现一个用例,这个用例主要用来进行版本号的校验,我们会故意让这个脚本执行失败,然后看下执行失败测试报告的展现,尽量模拟真实的脚本执行情况,因为在实际的运用过程中,用例执行结果肯定会有通过的脚本也会有失败的脚本,如果脚本执行失败了我们需要去分析失败的原因。现在我们来看这个用例的实现。

这个用例的步骤如下:

  1. 启动应用
  2. 跳转到"我的"页面
  3. 点击我的设置页面顶部左侧的设置按钮
  4. 在设置页面点击"关于我们"按钮
  5. 校验版本号(假设预期是v2.9.1(1609281026) ,但实际却不是,我们用来模拟用例执行失败的情况)

这时候我们可以在测试工程下新建一个包如testcases.versioncheck,要来存放版本校验的脚本,这时候新建一个Java类,如VersionCheck,用来进行脚本的实现,同样让这个类继承自BasicTestCase,然后复写test方法即可,如下所示:

代码语言:javascript
复制
package appium.testcases.versioncheck;

import appium.common.BasicTestCase;
import org.testng.annotations.Test;


public class VersionCheck extends BasicTestCase {

    @Test
    public void testVersionCheck() throws Exception {
      
    }

}

因为这个用例我们要使用到的"关于页面"还未进行抽取,要先进行抽取下,主要会用到版本号的控件,我们先封装或者这个控件已经这个控件的文本即可。在Pages包下新建PageAbout类,然后封装如下:

代码语言:javascript
复制
package appium.pages;

import appium.common.Helper;
import org.openqa.selenium.WebElement;

public class PageAbout {
    private Helper helper;

    public PageAbout(Helper helper){
        this.helper = helper;
    }

    public WebElement getVersionTextView(){
       return helper.findById("net.oschina.app:id/tv_version_name");
    }
    
    public String getVersion(){
        return helper.getText(getVersionTextView());
    }

}

添加完Page类后需要到PageHelper类添加获取该Page类的方法,如下所示:

代码语言:javascript
复制
private PageAbout pageAbout;
public PageAbout getPageAbout(){
    if(pageAbout == null){
        pageAbout = new PageAbout(helper);
    }
    return pageAbout;
}

这样就可以去实现这个脚本了,具体实现如下:

代码语言:javascript
复制
package appium.testcases.versioncheck;

import appium.common.BasicTestCase;
import org.testng.annotations.Test;

import static org.testng.Assert.assertEquals;


public class VersionCheck extends BasicTestCase {

    //这个脚本是故意让其执行失败的
    @Test
    public void testVersionCheck() throws Exception {
        pageHelper.getPageCommon().goToMySettingsTab();
        pageHelper.getPageMySettings().clickSettingsBtn();
        pageHelper.getPageSettings().clickAbout();
        //获取实际界面上的版本号文本
        String actualVersion = pageHelper.getPageAbout().getVersion();
        //跟预期的版本号对比v2.9.1(1609281026) 
        assertEquals(actualVersion,"v2.9.1(1609281026) ");
    }

}

这个脚本执行完就可以看到它是执行失败的,如下所示:

从错误的输出看我们可以很快的定位到这个是因为预期的和实际的不一致造成脚本失败的,实际运用中可能有的错误没这么直观就可以看出来,需要断点调试,一步步定位到具体问题。

下一篇
举报
领券