当前位置: 首页 > news >正文

企业网站关键字优化seo交流qq群

企业网站关键字优化,seo交流qq群,android sdk官网,南京建设工程社会保障网站1.什么是selenium? Selenium 是支持web 浏览器自动化的一系列工具和 库的综合项目。 它提供了扩展来模拟用户与浏览器的交互,用于扩展浏览器分配的分发 服务器, 以及用于实现W3C WebDriver 规范 的基础结构, 该规范允许您为所有主…

1.什么是selenium?

Selenium 是支持web 浏览器自动化的一系列工具和 库的综合项目。 它提供了扩展来模拟用户与浏览器的交互,用于扩展浏览器分配的分发 服务器, 以及用于实现W3C WebDriver 规范 的基础结构, 该规范允许您为所有主要Web 浏览器编写可互换的代码。 Selenium 不仅仅是一个工具或 API, 它还包含许多工具.

WebDriver

如果您开始使用桌面网站测试自动化, 那么您将使用 WebDriver APIs. WebDriver 使用浏览器供应商提供的浏览器自动化 API 来控制浏览器和运行测试. 这就像真正的用户正在操作浏览器一样. 由于 WebDriver 不要求使用应用程序代码编译其 API, 因此它本质上不具有侵入性. 因此, 您测试的应用程序与实时推送的应用程序相同.

Selenium IDE

Selenium IDE (Integrated Development Environment 集成 开发环境) 是用来开发 Selenium 测试用例的工具. 这是一个易于使用的 Chrome 和 Firefox 浏览器扩展, 通常是开发测试用例最有效率的方式. 它使用现有的 Selenium 命令记录用户在浏览器中的操作, 参数由元素的上下文确定. 这不仅节省了开发时间, 而且是学习 Selenium 脚本语法的一种很好的方法.

Grid

Selenium Grid允许您在不同平台的不同机器上运行测试用例. 可以本地控制测试用例的操作, 当测试用例被触发时, 它们由远端自动执行. 当开发完WebDriver测试之后, 您可能需要在多个浏览器和操作系统的组合上运行测试. 这就是 Grid 的用途所在.

2.代码工程

实验目标

  1. 打开chrome,自动输入Google网页并进行搜索
  2. 对搜索结果截图并保存
  3. 关闭浏览器

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>springboot-demo</artifactId><groupId>com.et</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>Selenium</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><selenium.version>3.141.59</selenium.version><webdrivermanager.version>4.3.1</webdrivermanager.version><testng.version>7.4.0</testng.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>${selenium.version}</version></dependency><!-- https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager --><!--            https://github.com/bonigarcia/webdrivermanager--><dependency><groupId>io.github.bonigarcia</groupId><artifactId>webdrivermanager</artifactId><version>${webdrivermanager.version}</version></dependency><!-- https://mvnrepository.com/artifact/org.testng/testng --><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>${testng.version}</version><scope>test</scope></dependency></dependencies>
</project>

测试主类

package com.et.selenium;import com.et.selenium.page.google.GooglePage;
import com.et.selenium.util.ScreenShotUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.testng.Assert;
import org.testng.annotations.Test;import java.io.IOException;public class GoogleSearch1Test extends SpringBaseTestNGTest {@Autowiredprivate GooglePage googlePage;@Lazy // only create the object when needed@Autowiredprivate ScreenShotUtil screenShotUtil;@Testpublic void GoogleTest() throws IOException, InterruptedException {this.googlePage.goToGooglePage();Assert.assertTrue(this.googlePage.isAt());this.googlePage.getSearchComponent().search("spring boot");Assert.assertTrue(this.googlePage.getSearchResult().isAt());Assert.assertTrue(this.googlePage.getSearchResult().getCount() > 2);System.out.println("Number of Results: " + this.googlePage.getSearchResult().getCount());// wait 3 secondsThread.sleep(3000);//take screenshotthis.screenShotUtil.takeScreenShot("Test.png");this.googlePage.close();}
}

打开google网页

package com.et.selenium.page.google;import com.et.selenium.annotation.Page;
import com.et.selenium.page.Base;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;// this is the main page class that uses search componet and search results componet
@Page // using custom annotation created; src/main/java/com/demo/seleniumspring/annotation/Page.java
public class GooglePage extends Base {@Autowiredprivate SearchComponent searchComponent;@Autowiredprivate SearchResult searchResult;@Value("${application.url}")private String url;//launch websitepublic void goToGooglePage(){this.driver.get(url);}public SearchComponent getSearchComponent() {return searchComponent;}public SearchResult getSearchResult() {return searchResult;}@Overridepublic boolean isAt() {return this.searchComponent.isAt();}public void close(){this.driver.quit();}
}

搜索“ Spring Boot”关键字

package com.et.selenium.page.google;import com.et.selenium.annotation.PageFragment;
import com.et.selenium.page.Base;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;import java.util.List;@PageFragment// using custom annotation created; src/main/java/com/demo/seleniumspring/annotation/PageFragment.java
public class SearchComponent extends Base {@FindBy(name = "q")private WebElement searchBox;@FindBy(name="btnK")private List<WebElement> searchBtns;public void search(final String keyword) {this.searchBox.sendKeys(keyword);this.searchBox.sendKeys(Keys.TAB);// CLICK first search buttonthis.searchBtns.stream().filter(e -> e.isDisplayed() && e.isEnabled()).findFirst().ifPresent(WebElement::click);}@Overridepublic boolean isAt() {return this.wait.until(driver1 -> this.searchBox.isDisplayed());}
}

搜索结果截图

package com.et.selenium.util;import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import org.springframework.util.FileCopyUtils;import java.io.File;
import java.io.IOException;
import java.nio.file.Path;@Lazy
@Component
public class ScreenShotUtil {@Autowiredprivate TakesScreenshot driver;// location of screenshot file@Value("${screenshot.path}")private String path;public void takeScreenShot(final String imgName) throws IOException {// takes screenshot as saves to path in app properties file using given imgName ex. test.pngif (System.getenv("CLOUD_RUN_FLAG") == null) {try {File sourceFile = this.driver.getScreenshotAs(OutputType.FILE);File  targetfile = new File(path+"/"+imgName);FileCopyUtils.copy(sourceFile, targetfile);System.out.println("Saving screenshot to " + path);} catch (Exception e) {System.out.println("Something went wrong with screenshot capture" + e);}}}
}

关闭chrome浏览器

this.googlePage.close();

以上只是一些关键代码,所有代码请参见下面代码仓 库

代码仓库

  • GitHub - Harries/springboot-demo: a simple springboot demo with some components for example: redis,solr,rockmq and so on.(selenium)

3.测试

启动测试方法GoogleTest,效果如下面动图

selenium

4.引用

  • Spring Boot集成selenium实现自动化测试 | Harries Blog™
  • Selenium
http://www.dt0577.cn/news/54382.html

相关文章:

  • 广东今科网站建设百度快速排名优化服务
  • wordpress腾讯企业邮箱河南纯手工seo
  • 免费查找企业信息的网站碉堡了seo博客
  • 做网站北京全国十大跨境电商排名
  • 网站规划设计书北京营销推广网站建设
  • 网络广告策划公司重庆优化seo
  • 在哪里可以建网站重庆百度seo排名
  • 商务网站开发流程有哪三个阶段发布新闻稿
  • 做婚恋网站赚钱吗职业技术培训
  • 使用wordpress创建企业官网seo数据是什么
  • 泗县建设银行网站手机app安装下载
  • php个人网站模板南宁网络推广培训机构
  • 企业推广的主要目的是搜索引擎优化的概念是什么
  • 网站建设合作合同范文网站推广计划方案
  • 做网站需要什么许可证沈阳专业网站seo推广
  • 长沙优化网站服务怎么在网络上推广
  • 浙江外贸人才网南京seo关键词排名
  • 政府网站都是谁做的seo排名技巧
  • 织梦怎么制作手机网站惠州网站推广排名
  • 外管局网站上做预收登记企点客服
  • 湖州网站开发区火炬手国际新闻头条
  • 建设的网站百度搜不到网站注册地址
  • 宝安做网站的品牌策划公司哪家好
  • 如何备份一个网站查域名的网址
  • 苏州做门户网站的公司北京网络营销推广公司
  • 网页设计学校网站河南最近的热搜事件
  • 做交易网站需要办什么证线上seo关键词优化软件工具
  • 做图网站地图磁力云搜索引擎入口
  • 锦州哪家做网站微营销平台
  • 西安市内必去12景点sem推广和seo的区别