在本节中, 你将学习如何向下或向上滚动以显示网页上显示的其他信息。
让我们考虑一个测试案例, 在该案例中, 我们将自动执行以下方案:
- 调用Firefox浏览器
- 公开网址:www.srcmini.com
- 向下滚动网页以显示Java Technology部分
步骤1。启动Eclipse IDE, 并打开我们在本教程前面的课程中创建的现有测试套件” Demo_Test” 。
第2步。右键单击” src” 文件夹, 然后从” 新建” > ” 类” 创建一个新的类文件。
文章图片
将你的班级名称命名为” Scroll_Test” , 然后单击” 完成” 按钮。
文章图片
第三步让我们进入编码基础。
- 要调用Firefox浏览器, 我们需要下载Gecko驱动程序并为Gecko驱动程序设置系统属性。我们已经在本教程的早期课程中对此进行了讨论。你可以参考” 在Firefox浏览器上运行测试” 以了解如何下载和设置Firefox驱动程序的系统属性。
// System Property for Gecko Driver System.setProperty("webdriver.gecko.driver", "D:\\GeckoDriver\\geckodriver.exe" );
- 之后, 我们必须使用所需功能类初始化Gecko驱动程序。
// Initialize Gecko Driver using Desired Capabilities ClassDesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver= new FirefoxDriver(capabilities);
结合以上两个代码块, 我们将获得代码段以启动Firefox浏览器。
// System Property for Gecko Driver System.setProperty("webdriver.gecko.driver", "D:\\GeckoDriver\\geckodriver.exe" );
// Initialize Gecko Driver using Desired Capabilities Class DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver= new FirefoxDriver(capabilities);
- 之后, 我们需要编写代码以自动执行第二个测试场景(导航到所需的URL)
// Launch Websitedriver.navigate().to("www.srcmini.com");
到目前为止, 完整的代码如下所示:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
public class Scroll_Test { public static void main(String[] args) { // System Property for Gecko Driver System.setProperty("webdriver.gecko.driver", "D:\\GeckoDriver\\geckodriver.exe" );
// Initialize Gecko Driver using Desired Capabilities ClassDesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver= new FirefoxDriver(capabilities);
// Launch Websitedriver.navigate().to("www.srcmini.com");
}}
步骤4。为了使第三个测试场景自动化, 我们需要编写代码, 该代码将向下滚动页面以显示srcmini网站上的Java Technology部分。
要滚动网页, 我们必须使用JavaScript的scrollBy方法。为了执行JavaScript方法, 我们将使用JavaScript执行器。 scrollBy方法采用两个参数, 每个参数分别以像素为单位进行水平和垂直滚动。
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("scrollBy(0, 4500)");
因此, 我们的最终测试脚本将如下所示:
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
public class Scroll_Test { public static void main(String[] args) {// System Property for Gecko Driver System.setProperty("webdriver.gecko.driver", "D:\\GeckoDriver\\geckodriver.exe" );
// Initialize Gecko Driver using Desired Capabilities ClassDesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver= new FirefoxDriver(capabilities);
// Launch Websitedriver.navigate().to("www.srcmini.com");
//Scroll down the webpage by 4500 pixelsJavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("scrollBy(0, 4500)");
}}
【Selenium WebDriver-滚动网页示例】执行后, 上述测试脚本将启动Firefox浏览器并自动执行所有测试方案。
推荐阅读
- Selenium WebDriver与Selenium RC详细介绍
- Selenium WebDriver-在IE浏览器上运行测试
- Selenium WebDriver-Firefox浏览器运行测试-Gecko驱动程序
- Selenium和Python测试教程详细图解
- Selenium WebDriver-在Chrome浏览器上运行测试(图解)
- Selenium WebDriver安装详细步骤图解
- Selenium WebDriver-导航命令图解
- Selenium WebDriver-定位策略
- Selenium WebDriver处理单选按钮