Selenium常见报错信息

Selenium常见报错信息

jar、driver、浏览器版本(不要用最新的)、jdk版本 一致—》浏览器打不开,或者,不能输入地址

1、Cannot find firefox binary in PATH.
找不到ff路径
解决办法:

//如果ff浏览器没有安装在默认路径下,需要加下面这句话
	System.setProperty("webdriver.firefox.bin", 
			"C:\\Program Files\\Mozilla Firefox\\firefox.exe"); 
			//注意是 ff安装后的路径

2、org.openqa.selenium.SessionNotCreatedException: session not created:
This version of ChromeDriver only supports Chrome version 80
ChromeDriver版本错误

3、Exception in thread “main” java.lang.IllegalStateException: The driver executable does not exist: D:\demo\geckodriver1.exe
驱动的路径,获取驱动名称写错了

4、Exception in thread “main” java.lang.IllegalStateException: Specified firefox binary location does not exist or is not a real file:
C:\Program Files\Mozilla Firefox1\firefox.exe

5、Exception in thread “main” org.openqa.selenium.InvalidSelectorException:
这行识别元素的方式错误

6、org.openqa.selenium.NoSuchElementException
1)定位方式是不是写错了?
2)是不是页面还未加载完?加 Thread.sleep(3000);//等待浏览器加载
3)是否存在多个窗口,使用switchTo().window(s) 尝试切换窗口
4)是不是在子页面?例如iframe中,使用switchTo() 进行切换
5)是不是页面太长,移动滚动条试着向下(JS)
6)建议尝试用键盘鼠标事件(Div嵌套)
action.clickAndHold().moveByOffset(600, 200).release().perform();

7、手动点击是没有问题的,但是使用click(),没响应。建议使用JavascriptExecutor
JavascriptExecutor js=(JavascriptExecutor)driver;
driver.get(“http://localhost:8032/mymovie/”);
WebElement link_login=driver.findElement(By.linkText(“登录”));
js.executeScript(“arguments[0].click()”, link_login);

自动化测试 以分层模型开展

驱动进行 浏览器执行 驱动各大浏览器厂商开发

json wire protocol协议驱动

预备知识和技能

软件测试理论

HTML

CSS

Xpath

JavaIO\Apache poi \ JDBC

和硬件结合的就不大适合UI设置

UI测试基于图形、基于(HTML)DOM

Selenium环境搭建

selenium可以打开百度搜索知乎

2.3环境搭建

版本号,版本错了

geckodriver、要选择ff相对应的版本,看release

注意 浏览器打不开,或者浏览器能够打开网址driver.get(“https://www.baidu.com/”);

可能浏览器版本太高。

package Selenium;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class MyMovie {
	public static void main(String[] args) {
		String url = "http://localhost:8032/mymovie/index.php/Login/";
		//设置驱动
		System.setProperty("webdriver.gecko.driver","D:\\demo\\geckodriver.exe");
		//ff浏览器的安装后位置,如果是,默认安装路径,这句话可以省略
		System.setProperty("webdriver.firefox.bin","D:\\app\\firefox.exe");
		//
		WebDriver driver = new FirefoxDriver();
		driver.get(url);
		//输入用户名
		driver.findElement(By.name("username")).sendKeys("admin");
		driver.findElement(By.name("password")).sendKeys("admin");
		driver.findElement(By.name("password")).submit();
		
		//driver.findElement(By.className("sub")).click();
		
	}

}
package Selenium;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Sleeper;

public class MyMovie {
	public static void main(String[] args) throws InterruptedException {
		String url = "http://localhost:8032/mymovie/index.php/Login/";
		//设置驱动
		System.setProperty("webdriver.gecko.driver","D:\\demo\\geckodriver.exe");
		//ff浏览器的安装后位置,如果是,默认安装路径,这句话可以省略
		System.setProperty("webdriver.firefox.bin","D:\\app\\firefox.exe");
		//
		WebDriver driver = new FirefoxDriver();
		driver.get(url);
		//输入用户名
		driver.findElement(By.name("username")).sendKeys("admin");
		driver.findElement(By.name("password")).sendKeys("123456");
		driver.findElement(By.name("password")).submit();
		
		Thread.sleep(1000);//没有的话会无法定位
	

		driver.findElement(By.linkText("海上钢琴师")).click();
		
		Thread.sleep(1000);
		
		driver.findElement(By.name("message")).sendKeys("高昕2019012472自动化测试");
		driver.findElement(By.id("message_button")).click();
		
		

		
	}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值