Lulu的自动化测试学习(一)

    技术2022-07-13  103

    web自动化测试(selenium)

    Edge浏览器Chrome浏览器火狐浏览器IE浏览器(最后补充了通用特性的设置)

    测试Micosoft Edge浏览器

    首先是在eclipse写一个简单的测试脚本

    写一个测试打开Edge浏览器的脚本 出现错误:Exception in thread “main” java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.edge.driver system property; 原因是需要安装浏览器的驱动。

    打开Microsoft Edge浏览器,点击右上角的三个点后选择设置,滚动条拉到最下面可以看到Edge的版本,对应再去官网找相应版本的驱动

    我的Edge浏览器是18.18363版本 根据官网的下载说明( link)

    在命令行(注意以管理员身份运行)输入: DISM.exe /Online /Add-Capability /CapabilityName:Microsoft.WebDriver~~~~0.0.1.0即可成功安装驱动!

    测试Chrome浏览器 *在eclipse输入如下代码,注意最佳的selenium与Chrome搭配,据说这样搭配坑最少(( ̄︶ ̄))

    当然,这里又会出现没有驱动的错误,所以需要去官网找驱动,官网链接有时候不太好使,我都是找的镜像,直接百度:Chromedriver MIRROR;同理,其他资源在官网下载慢的时候也可以考虑搜索镜像资源下载,镜像真的超好用!!

    超多版本任你选!最好还是选择与浏览器版本对应的咯!将下载好的驱动程序复制到eclipse的src目录下通过添加语句: System.setProperty("webdriver.chrome.driver", "src/chromedriver.exe");

    加入驱动,重新运行程序,成功实现Chrome浏览器的启动测试!

    火狐浏览器的打开与以上代码类似,对于驱动问题需要注意:

    火狐48以下版本可以直接使用webdriver自带的进行打开浏览器 火狐48以上版本则需要使用版本对应的geckodriver(百度镜像下载很方便)

    IE浏览器 IDEDriverServer驱动下载方式:

    百度搜索selenium MIRROR,找到对应的selenium版本(我的是2.53.1),下载好之后把驱动的exe文件复制到eclipse的src目录下,把相对路径加到setProperty语句中,点运行即可。 运行程序之后: 页面成功打开,但出现如下错误 Started InternetExplorerDriver server (64-bit) 2.53.1.0 Listening on port 30561 Only local connections are allowed Exception in thread "main" org.openqa.selenium.remote.SessionNotFoundException: Unexpected error launching Internet Explorer. Browser zoom level was set to 200%. It should be set to 100% (WARNING: The server did not provide any stacktrace information)

    这是浏览器的缩放比例设置不正确,打开IE浏览器,点击右上角的设置可以直接将缩放比例设置为100%,关闭浏览器之后再次运行程序,成功打开页面! //安全墙设置成一致,缩放级别为100% //同事之间设置不一定一致 //所以不具备通用性 //为增强通用性,可以设置一些能力(忽略安全设置和缩放特性) 代码如下

    public class IETester { public static void main(String[] args) { // System.setProperty("webdriver.ie.driver", "src/IEDriverServer.exe"); //常量(以下写法比上面的语句更专业) System.setProperty(InternetExplorerDriverService.IE_DRIVER_EXE_PROPERTY, "src/IEDriverServer.exe"); //忽略缩放和安全设置 //设置一些驱动需要的能力(特性) DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true); capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); InternetExplorerDriver driver = new InternetExplorerDriver(capabilities); driver.get("http://www.baidu.com"); } }

    终于完成了打开各种浏览器的测试,从搭建环境到解决bug花了一整天时间,小菜鸡瑟瑟发抖

    Processed: 0.013, SQL: 10