使用自动化脚本在单个浏览器中测试网站是加速测试的简洁方法。只需单击一下,您就可以测试您的网站是否存在所有可能的错误,而无需手动点击和导航到网页。它是软件独创性的现代奇迹,可以节省数小时的手动时间并提高生产力。但是,要实现所有这些魔力,您需要首先构建自动化脚本。
在之前的文章中,我们专注于为运行selenium脚本设置 完整的测试套件环境。但是那个剧本有一个主要的缺点。该设置专注于仅在单个浏览器上进行测试。跨浏览器兼容性测试是所有测试人员的主要难点,也是所有功能测试周期的主要测试案例。
在这篇文章中,我们将重点关注同时在Chrome,Firefox和Opera浏览器上运行测试场景。我们将关注跨浏览器问题以及功能问题。
在开始之前,我强烈建议您阅读我们之前关于编写自动化测试脚本的文章。
安装Maven
第1步: 转到市场并安装Maven。
转到帮助→Eclipse Marketplace→搜索Maven→确认→确认→完成
重启Eclipse
步骤2: 重新启动Eclipse以使更改生效。重新启动Eclipse后,就可以开始创建项目了。
创建一个Maven项目
步骤3: 要创建项目,请转到文件→新建→其他→Maven→项目。
您现在已经准备好创建一个Maven项目了。
在这里,您需要输入组ID和工件ID。假设组ID是 com.browsers1 ,工件ID是 crossbrowser。
输入ID后,单击Finish,将创建您的Maven项目。
在左侧,您将找到两个文件夹,即 src/main/java 和 src/test/java。在 src/test/java,你会发现 com.browsers1.crossbrowser。右键单击 com.browsers1.crossbrowser,选择新建,然后创建一个类。
输入名称CrossbrowserTest,然后单击“完成”。
注意: 确保以大写字母开头,并以测试结束。
下载驱动程序
下一步是为浏览器安装驱动程序。由于您要使用自动化软件控制浏览器,因此需要确保要在脚本中使用的浏览器安装了驱动程序。
对于Firefox,您需要安装Geckodriver。对于Chrome,我们需要ChromeDriver。对于Opera,安装OperaChromiumDriver。由于我们将在脚本中使用这三种浏览器,因此我们需要安装这些浏览器。但是,如果您计划在脚本中添加更多浏览器,请确保已安装其驱动程序。
下载并安装驱动程序后,让我们从添加依赖项文件开始。必须为您正在使用的每个框架都有依赖项文件。所以我们需要在我们的pom.xml文件中下载Selenium的依赖文件。
选择pom.xml并删除to之间的行并使用以下命令添加依赖项文件:
org.testng testng 6.14.3 test org.apache.maven.plugins maven-surefire-plugin 2.19.1 javax.mail mail 1.5.0-b01 org.seleniumhq.selenium selenium-htmlunit-driver 2.52.0 junit junit 4.12 info.cukes cucumber-java 1.2.5 test info.cukes cucumber-picocontainer 1.2.5 test info.cukes cucumber-junit 1.2.5 test org.seleniumhq.selenium selenium-java 3.11.0 org.seleniumhq.selenium
此代码将所有依赖项文件添加到项目中。
写下最终代码
现在保存它并创建一个脚本作为最后一步。
再次转到 src/test/java,选择crossbrowsertest.java文件,然后将代码复制到其工作区。
package com.browsers.Cross_Browser;import org.testng.annotations.Test; import org.testng.AssertJUnit;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.ie.InternetExplorerDriver;import org.openqa.selenium.opera.OperaDriver;//comment the above line and uncomment below line to use Chrome//import org.openqa.selenium.chrome.ChromeDriver;public class BrowserTest { WebDriver driver; @Test public void AmazonTitleTest() { // declaration and instantiation of objects/variables System.setProperty("webdriver.gecko.driver