Selenium 定位策略-(通过链接文字)
在本节中,您将学习如何通过链接文本查找特定的Web元素。
让我们考虑一个测试案例,在该案例中,我们将自动执行以下方案:
调用Firefox浏览器
打开URL: https://www.testandquiz.com/selenium/testing.html
单击示例网页上的链接文本"这是一个链接"
我们将逐步创建测试用例,以使您全面了解如何使用定位器来识别和定位特定的Web元素。
第1步。。启动Eclipse IDE并打开我们在本教程前面的课程中创建的现有测试套件" Demo_Test"。
第二步。。右键单击" src"文件夹,然后从"新建">"类"中创建一个新的类文件。
将您的班级名称设为" Link_Test",然后单击"完成"按钮。
第3步。让我们进入编码基础。
要调用Firefox浏览器,我们需要下载Gecko驱动程序并设置Gecko驱动程序的系统属性。我们已经在本教程的早期课程中对此进行了讨论。您可以参考"> "在Firefox浏览器上运行测试" 了解如何下载并为Firefox驱动程序设置系统属性。
以下是为Gecko驱动程序设置系统属性的示例代码:
// System Property for Gecko Driver
System.setProperty("webdriver.gecko.driver","D:\\GeckoDriver\\geckodriver.exe" );
之后,我们必须使用所需功能类来初始化Gecko驱动程序。
这是使用DesiredCapabilities类初始化壁虎驱动程序的示例代码。
// Initialize Gecko Driver using Desired Capabilities Class
DesiredCapabilities 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)
以下是示例代码,可导航到所需的URL:
// Launch Website
driver.navigate().to("https://www.testandquiz.com/selenium/testing.html");
到目前为止,完整的代码如下所示:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
public class Link_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 Class
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
WebDriver driver= new FirefoxDriver(capabilities);
// Launch Website
driver.navigate().to("https://www.testandquiz.com/selenium/testing.html");
}
}
第4步。现在,我们将尝试通过其链接文本查找所需的Web元素。在Selenium中,查找特定的Web元素涉及对其HTML代码的检查。
请按照以下步骤在示例网页上找到"文本"框。
打开URL: https://www.testandquiz.com/selenium/testing.html
右键单击示例网页上的"这是链接"文本,然后选择"检查元素"。
它将打开一个窗口,其中包含开发链接文本所涉及的所有特定代码。
选择链接文本的值,即"这是一个链接"。
通过链接文本查找Web元素的Java语法写为:
driver.findElement(By.linkText (<linktext>)
因此,为了在示例网页上找到链接文本,我们将使用其链接文本的值:
driver.findElement(By.linkText (<"this is a Link">))
步骤5、 要使我们的第三个测试场景自动化,我们需要编写代码,然后单击链接文本。
这是单击链接文本的示例代码。
// Click on the Link Text using click() command
driver.findElement(By.linkText("this is a Link")).click();
因此,我们的最终测试脚本将如下所示:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
public class Link_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 Class
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
WebDriver driver= new FirefoxDriver(capabilities);
// Launch Website
driver.navigate().to("https://www.testandquiz.com/selenium/testing.html");
// Click on the Link Text using click() command
driver.findElement(By.linkText("this is a Link")).click();
}
}
以下屏幕截图显示了我们的测试脚本的Eclipse窗口。
第6步。。右键单击Eclipse代码,然后选择运行方式> Java应用程序。
执行后,上述测试脚本将启动Firefox浏览器并自动执行所有测试方案。