开发者社区> 问答> 正文

测试百度登陆拿不到结果:报错

package seleniumTestLoginModule;

import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;

class LoginDetail
{	
	public void case1(String s) throws Exception 
	{
		
		if(s.equals("请您填写手机/邮箱/用户名"))
		{
			System.out.println("Case1: 当没有输入用户名和密码时候点击登陆,将提示: "
	    	+ s + "---Pass");
		}
		else
		{
			System.out.println("Case failed, " + "CurrentText is " + s);
		}
		Thread.sleep(3000);
	}
	public void case2(String s) throws Exception
	{
		if(s.equals("请您填写密码"))
		{
			System.out.println("Case2: 当密码为空时候点击登陆,将提示: "
	    	+ s + "---Pass");
		}
		else
		{
			System.out.println("Case failed, " + "CurrentText is " + s);
		}
		Thread.sleep(3000);
	}
	public void case3(String s) throws Exception
	{
		if(s.equals("请您填写手机/邮箱/用户名"))
		{
			System.out.println("当输入账号为空的时候点击登陆,将提示:" 
			+ s + "---Pass");
		}
		else
		{
			System.out.println("Current Text is " + s);
		}
	}
	/*public void case4(String s) throws Exception
	{
		if(s.equals("您输入的帐号或密码有误,忘记密码?"));
		{
			System.out.println("Case4: 当输入的密码有误时提示: " 
			+ s + "---Pass");
		}
		else
		{
			System.out.println("Current Text is " + s);
		}
	}*/

}



public class Login {

	public static void main(String[] args) throws Exception {
		// TODO 自动生成的方法存根
		LoginDetail loginDetail = new LoginDetail();
		WebDriver browser = new FirefoxDriver();
		browser.get("https://www.baidu.com");
		WebElement findLoginButton = browser.findElement(By.linkText("登录"));
		findLoginButton.click();
		
		Thread.sleep(3000);
		
		WebElement findAccountName = browser.findElement(By.id("TANGRAM__PSP_8__userName"));
		WebElement findPassword = browser.findElement(By.id("TANGRAM__PSP_8__password"));
		WebElement findSubmit = browser.findElement(By.id("TANGRAM__PSP_8__submit"));
		
		//case 1 当没有输入用户名和密码时候点击登陆
		findSubmit.submit();
		String s = browser.findElement(By.id("TANGRAM__PSP_8__error")).getText();
		loginDetail.case1(s);
				
		//case2 当密码为空的时候点击登陆
		findAccountName.clear();
		findPassword.clear();
		findAccountName.sendKeys("aa740578857");
		findPassword.sendKeys("");
		findSubmit.submit();
		s = browser.findElement(By.id("TANGRAM__PSP_8__error")).getText();
		loginDetail.case2(s);
		
		//case3 当账号为空的时候点击登陆
		findAccountName.clear();
		findPassword.clear();
		findAccountName.sendKeys("");
		findPassword.sendKeys("abc123456");
		findSubmit.submit();
		s = browser.findElement(By.id("TANGRAM__PSP_8__error")).getText();
		System.out.println(s + "1");
		
		//loginDetail.case3(s);
		
		/*
		//case4 当输入的密码错误的时候点击登陆
		findAccountName.clear();
		findPassword.clear();
		findAccountName.sendKeys("aa7405788");
		findPassword.sendKeys("abc123456");
		findSubmit.submit();
		s = browser.findElement(By.id("TANGRAM__PSP_8__error")).getText();
		//loginDetail.case4(s);
		*/
		
		browser.quit();
	}

}



运行到第三个case的时候,为什么程序没有返回s;如果第二个case加上错误的密码,也没有s返回,求解答

展开
收起
kun坤 2020-06-06 14:48:57 484 0
1 条回答
写回答
取消 提交回答
  • 第二条case我试着在打印前 sleep5秒,可以拿到errorMessage, 但是第三条case不行。。。
    ######

    在不影响功能测试的情况下,只要将case3的代码顺序改下就行了

    //case3 当账号为空的时候点击登陆

            findAccountName.clear();

            findPassword.clear();

            findPassword.sendKeys("abc123456");

            findAccountName.sendKeys("");
           
            findSubmit.submit();
            s = browser.findElement(By.id("TANGRAM__PSP_8__error")).getText();

            System.out.println(s);

    具体原因不明,或者你clear之后就不用输入空了,应该也可以执行成功



    2020-06-06 14:49:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
移动互联网测试到质量的转变 立即下载
给ITer的技术实战进阶课-阿里CIO学院独家教材(四) 立即下载
F2etest — 多浏览器兼容性测试整体解决方案 立即下载