app/web自动化技巧1:解决主页需要多次进入子页面的冗余问题

一、场景:

现在有一个app主页,主页有100个超链接,可以进入子页面P1~P100,如果需要对这100个页面做自动测试,需要怎样写自动化脚本?

二、方案:

1、每个子页面写一个脚本(此处为class),分别实现启动主页+进入子页面测试。

优点:代码逻辑简单

缺点:启动主页的代码要重复粘贴100次,存在重复和冗余,管理维护很不方便。

2.100个子页面放到一个脚本(class),实现启动主页+进入P1测试+退回主页+进入P2测试。。。

优点:没有代码冗余

缺点:对退回主页的稳定性依赖过高,一旦某个页面无法退出主页,整个脚本无法继续运行。

增加了退回主页的测试代码*100(如果在测试用例范围内,则可忽略该问题)。

此外所有测试页面代码放到一个class,管理维护不太友好。

3.启动页面封装成一个class,每个子页面写一个脚本(此处为class),仅实现进入子页面测试

优点:代码逻辑简单、没有代码冗余,管理维护方便

缺点:和方案1类似,对Appium启动APP的稳定性有一定依赖,因为需要启动(可能包含关闭)应用100次。

原文链接

综合看来,方案3更适合解决主页需要多次进入子页面的冗余问题。

三、示例:

public class  OpenAPP{
	
	public static AppiumDriver driver;
	/**
	 * @param args
	 * @throws Exception 
	 */
	//打开应用
    //原文链接https://blog.csdn.net/weixin_51380973
	public AppiumDriver Android_Settings() throws Exception {
		// TODO Auto-generated method stub
		   DesiredCapabilities cb = new DesiredCapabilities();
	        cb.setCapability("noReset", true);
	        cb.setCapability("platformName","Android"); 
	        cb.setCapability("deviceName","");
	        cb.setCapability("platformVersion", "6.0");  
	        cb.setCapability("appPackage", "com.android.settings");  
	        cb.setCapability("appActivity", ".Settings");
	        cb.setCapability("newCommandTimeout", 180);
			driver= new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),cb);
			driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);			
			return driver;			
	}
    
}
public class testPage1 {
	
	public static AppiumDriver driver;
	/**
	 * @param args
	 * @throws Exception 
	 */
	
    public static void main(String[] args) throws Exception {
           //原文链接https://blog.csdn.net/weixin_51380973
	       OpenAPP open_app=new OpenAPP();
	       driver=open_app.Android_Settings();
            
			int width=driver.manage().window().getSize().width;
			int height=driver.manage().window().getSize().height;  
			driver.swipe(width / 2, height * 9 / 10, width / 2, height / 10, 80);
			Thread.sleep(1000);			
			WebElement about_device=driver.findElement(By.name("关于设备"));
			about_device.click();			

	} 	
  
    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值