潜江建设局网站,网站建设的注意,网站如何做超级链接,网站建设都需要哪些材料1. 准备
编程语言#xff1a;Java JDK版本#xff1a;17 Maven版本#xff1a;3.6.1
2. 开始
声明#xff1a;本次只测试Java的Selenium自动化功能 本次示例过程#xff1a;打开谷歌游览器#xff0c;进入目标网址#xff0c;找到网页的输入框元素#xff0c;输入指…1. 准备
编程语言Java JDK版本17 Maven版本3.6.1
2. 开始
声明本次只测试Java的Selenium自动化功能 本次示例过程打开谷歌游览器进入目标网址找到网页的输入框元素输入指定内容点击提交按钮成功后关闭网页。
2.1. 目录结构和内容 pom.xml
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.3.2/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.fhh.selenium/groupIdartifactIddemo/artifactIdversion1.0.0/versionnameSeleniumDemo/namedescriptionSelenium demo/descriptionurl/licenseslicense//licensesdevelopersdeveloper//developersscmconnection/developerConnection/tag/url//scmpropertiesjava.version17/java.versionselenium.version4.23.1/selenium.versionwebdrivermanager.version5.9.2/webdrivermanager.version/propertiesdependenciesdependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --dependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-java/artifactIdversion${selenium.version}/version/dependency!-- https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager --!-- https://github.com/bonigarcia/webdrivermanager--dependencygroupIdio.github.bonigarcia/groupIdartifactIdwebdrivermanager/artifactIdversion${webdrivermanager.version}/version/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationexcludesexcludegroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/exclude/excludes/configuration/plugin/plugins/build
/project
SimpleSelenium.java
/*** Copyright (C) 2024-2024, FHH. All rights reserved.*/
package com.fhh.selenium;import lombok.AllArgsConstructor;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;import java.util.function.Consumer;/*** SimpleSelenium** apiNote a hrefhttps://www.selenium.dev/zh-cn/documentation/overview/文档详情/a* since 1.0.0*/
AllArgsConstructor
public class SimpleSelenium {private final WebDriver driver;public SimpleSelenium openWeb() {driver.get(https://www.selenium.dev/selenium/web/web-form.html);return this;}public SimpleSelenium getWebTitle(Consumer? super String action) {action.accept(driver.getTitle());return this;}public SimpleSelenium fillForm() {WebElement textBox driver.findElement(By.name(my-text));// 设置textBox的值为“Test selenium”textBox.clear();textBox.sendKeys(Test selenium);return this;}public SimpleSelenium submit() {WebElement submitButton driver.findElement(By.cssSelector(button));submitButton.click();return this;}public SimpleSelenium getMessage(Consumer? super String action) {WebElement message driver.findElement(By.id(message));action.accept(message.getText());return this;}public void quit() {driver.quit();}
}
UserAction.java
封装用户操作的示例
/*** Copyright (C) 2024-2024, FHH. All rights reserved.*/
package com.fhh.selenium;import lombok.AllArgsConstructor;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;/*** 封装一些用户的必要动作** since 1.0.0*/
AllArgsConstructor
public class UserAction {private final WebDriver driver;/*** 登录用户** param username 用户名* param password 密码* return this*/public UserAction login(String username, String password) {WebElement loginField driver.findElement(By.id(username));loginField.clear();loginField.sendKeys(username);// Fill out the password field. The locator were using is By.id, and we should// have it defined elsewhere in the class.WebElement passwordField driver.findElement(By.id(password));passwordField.clear();passwordField.sendKeys(password);// Click the login button, which happens to have the id submit.driver.findElement(By.id(submit)).click();return this;}/*** 注销登录** return this*/public UserAction logOut() {WebElement logOutButton driver.findElement(By.id(log-out));logOutButton.click();return this;}}
SimpleSeleniumTest.java
/*** Copyright (C) 2024-2024, FHH. All rights reserved.*/
package com.fhh.selenium;import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;import java.time.Duration;import static org.junit.jupiter.api.Assertions.assertEquals;class SimpleSeleniumTest {WebDriver driver;BeforeEachpublic void setup() {driver new ChromeDriver();}Testpublic void simpleTest() {// 1. 打开网页driver.manage().timeouts().implicitlyWait(Duration.ofMillis(500));driver.get(https://www.selenium.dev/selenium/web/web-form.html);// 2. 获取网页标题并断言为Web formString title driver.getTitle();assertEquals(Web form, title);// 3. 找到网页上name属性为“my-text”的元素textBoxWebElement textBox driver.findElement(By.name(my-text));// 3.1 设置textBox的值为SeleniumtextBox.sendKeys(Test selenium);// sleep(2000);// 4. 点击提交元素WebElement submitButton driver.findElement(By.cssSelector(button));submitButton.click();// sleep(2000);// 5. 断言页面名称为“Web form - target page”assertEquals(Web form - target page, driver.getTitle());// sleep(2000);// 6. 找到id为“message”的消息断言为“Received!”WebElement message driver.findElement(By.id(message));assertEquals(Received!, message.getText());}Testpublic void simpleSeleniumTest() {new SimpleSelenium(driver).openWeb().getWebTitle(title - assertEquals(Web form, title)).fillForm().submit().getWebTitle(title - assertEquals(Web form - target page, title)).getMessage(message - assertEquals(Received!, message)).quit();}AfterEachpublic void teardown() {driver.quit();}public void sleep(long timeMillis) {try {Thread.sleep(timeMillis);} catch (InterruptedException e) {throw new RuntimeException(e);}}
}
3. 效果
运行测试后会先等待1~5秒具体看机器性能打开一个谷歌游览器在输入网址进入网页并找到网页中的元素输入内容后点击提交按钮网页会自动跳转到新的页面。结束 测试用例结果 如果对你有用就点个赞吧~多谢