自动化测试中递归函数的应用

198 阅读1分钟

本人在做自动化测试的时候,有时候会遇到需要登录特定帐号进行测试,但可能已经登录了其他帐号了,导致用例失败的问题。所以需要在验证登录的时候再做一个判断,在修改代码的时候,突然想起了递归函数,复习了一下,尝试之后感觉很省事儿,特别方便。分享一下代码,供大家参考。

//登录学生app
	public void login() throws UiObjectNotFoundException {
		clickMe();//点击我的
		if (getUiObjectByResourceId("com.gaotu100.superclass:id/mylexuefragment_user_phone").exists()) {
			String id = getTextByResourceId("com.gaotu100.superclass:id/mylexuefragment_user_phone");
			if (id.contains("132249") | id.contains("157568")) {
				return;
				} else {
					exitApp();
					login();
				}
			} else {
				getUiObjectByResourceId("com.gaotu100.superclass:id/login_username").clearTextField();
				pressTimes(KeyEvent.KEYCODE_FORWARD_DEL, 12);//清除已有帐号
				getUiObjectByResourceId("com.gaotu100.superclass:id/login_username").setText("13120454218");//输入帐号
				getUiObjectByResourceId("com.gaotu100.superclass:id/login_password").setText("qqqqqq");//输入密码
				getUiObjectByResourceId("com.gaotu100.superclass:id/login_button").clickAndWaitForNewWindow();//点击登录
			}
		}

这个是UiAutomator的方法,selenium思路也是一样的,就不再贴代码了。

一起来~FunTester