赞
踩
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可以打开百度搜索知乎
版本号,版本错了
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(); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。