自动化测试—Selenium RC配置相关

1、安装eclipse
2、导入Junit4.jar.
3、导入selenium-java-3.0.1.jar,selenium-server-standalone-3.0.1.jar
导入selenium-server-standalone-2.53.0.jar(导入这个jar包是因为,如果导出Test Case的时候选择了Java Junit4 Remote Control,会有一些引用的包无法引用,具体的原因不明。。。可能是包里的类不同的原因,有些方法被废掉了)
4、启动selenium服务。
我选择了一个省事的方法,selenium服务的jar包的文件目录下,新建一个.bat的文件,里面写上java -jar selenium-server-standalone-2.53.0.jar
之后双击运行就可以了。(在CMD里执行这个命令不知道为什么不成功)
5、测试

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.ExpectedCondition;  
import org.openqa.selenium.support.ui.WebDriverWait;  

public class TT  {  
    public static void main(String[] args) {  
        // 如果你的 FireFox 没有安装在默认目录,那么必须在程序中设置  
        System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");

        // 创建一个 FireFox 的浏览器实例  
        WebDriver driver = new FirefoxDriver();  

        // 让浏览器访问 Baidu  
        driver.get("http://www.baidu.com");  
        // 用下面代码也可以实现  
        // driver.navigate().to("http://www.baidu.com");  

        // 获取 网页的 title  
        System.out.println("1 Page title is: " + driver.getTitle());  

        // 通过 id 找到 input 的 DOM  
        WebElement element = driver.findElement(By.id("kw"));  

        // 输入关键字  
        element.sendKeys("zTree");  

        // 提交 input 所在的  form  
        element.submit();  

        // 通过判断 title 内容等待搜索页面加载完毕,Timeout 设置10秒  
        (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {  
            public Boolean apply(WebDriver d) {  
                return d.getTitle().toLowerCase().endsWith("ztree");  
            }  
        });  

        // 显示搜索结果页面的 title  
        System.out.println("2 Page title is: " + driver.getTitle());  

        //关闭浏览器  
        driver.quit();  
    }  
}  

这个不是测试类,只是一个验证是否成功的方法。因为接上一条日志,最后还是因为火狐版本的原因报错了,所以先用这个简单测试下是否可以正常启动火狐。
6、报错:
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases

这个错误的解决方法参考:https://stackoverflow.com/questions/39722422/selenium-java-java-lang-illegalstateexception-the-path-to-the-driver-executab

添加一行代码
System.setProperty("webdriver.firefox.marionette", "D:\\selenium\\geckodriver-v0.18.0-win64\\geckodriver.exe");

这样就可以解决了,如果没有geckodriver.exe,在这里下载:https://github.com/mozilla/geckodriver/releases

另外,如果报错:org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055
那么就是火狐和selenium版本不兼容的问题了,于是我重装了39.0的火狐,但是这样xPath Checker的版本不兼容了。。。有哪个大神知道一个最完美的火狐版本可以兼容这些插件。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值