96SEO 2026-02-19 20:31 0
自动化测试能代替一部分的手工测试随着软件版本的不断更新回归测试使用的越来越多只使用手工测试是不太可能就需要用到自动化测试。

开源免费支持多个浏览器支持多系统支持多种语言selenium包底层有许多实用的API三、环境部署
下载selenium工具包下载chrome谷歌浏览器配置与浏览器版本一致的Chrome谷歌驱动Java版本最低要求为8四、什么是驱动驱动的工作原理
驱动对于汽车驱动可以使汽车跑起来计算机中驱动可以使程序运行那么对于自动化测试来说代码无法直接打来浏览器就需要借助驱动来打开浏览器完成自动化测试。
驱动的工作原理在自动化测试中驱动相当于服务器能够接收利用selenium发送过来的请求并进行解析请求。
在进行selenium编程之前需要***仓库将selenium相关依赖引入到maven项目中。
先定义一个ChromeDriver对象调用findElement方法其参数就需要传入元素那么可以通过如下方式定位元素
selectorCSS选择器这些元素只需在前端页面中双击要测试的元素然后点击检查然后点击copy选择相应的定位方式。
注意定位的元素必须是唯一的使用CSS选择器可能定位的元素不唯一。
ChromeDriver();Thread.sleep(3000);//选择定位百度主页chromeDriver.get(https://www.baidu.com);Thread.sleep(3000);//通过xpath定位元素chromeDriver.findElement(By.xpath(//*[id\kw\]));Thread.sleep(3000);//释放驱动对象关闭浏览器chromeDriver.quit();}
在定位到元素之后调用click方法进行点击也有submit方法页面中所有按钮都可以进行click但是能够click的元素不一定能够submit一般不建议使用submit。
例如点击百度页面的百度一下按钮与上述代码基本一致只需在其后添加click
chromeDriver.findElement(By.xpath(//*[id\su\])).click();
在定位到元素之后调用sendkeys方法进行模拟输入其参数是字符串。
例如在定位到百度的搜索框页面之后就可以模拟输入之后再点击百度一下按钮。
chromeDriver.findElement(By.xpath(//*[id\kw\])).sendKeys(fighting);
chromeDriver.findElement(By.xpath(//*[id\su\])).click();
chromeDriver.findElement(By.xpath(//*[id\kw\])).sendKeys(fighting);
chromeDriver.findElement(By.xpath(//*[id\kw\])).clear();
但是使用该方法获取不到百度一下按钮中的文字原因是按钮中的文字是属性需要用到getAttribute方法来进行获取。
chromeDriver.findElement(By.xpath(//*[id\hotsearch-content-wrapper\]/li[1]/a/span[2])).getText();Thread.sleep(3000);System.out.println(except:解码2023年中国经济关键词actual:str);String
chromeDriver.findElement(By.xpath(//*[id\su\])).getAttribute(value);Thread.sleep(3000);System.out.println(except:百度一下actual:val);
前端渲染的速度相较于代码执行的速度较慢有时就元素实际存在但出现找不到元素的异常这就需要进行等待。
使用Thread.sleep方法进行强制等待避免测试太快看不到演示结果。
在规定时间内轮询等待元素出现如果元素出现就结束在指定时间还未找到元素就会出现NoSuchElementException异常。
chromeDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(5));
缺点隐式等待贯穿于整个driver的整个生命周期等到所有的元素都出现才结束还是存在浪费时间的问题。
WebDriverWait(chromeDriver,Duration.ofSeconds(3))
webDriverWait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(//*[id\kw\])));
print(){chromeDriver.get(https://www.baidu.com);//打印页面标题System.out.println(chromeDriver.getTitle());//打印urlSystem.out.println(chromeDriver.getCurrentUrl());chromeDriver.quit();}
getWindowHandles获取所有窗口的句柄利用String集合进行接收。
print(){chromeDriver.get(https://www.baidu.com);//打印页面标题System.out.println(chromeDriver.getTitle());String
chromeDriver.getWindowHandle();chromeDriver.findElement(By.xpath(//*[id\hotsearch-content-wrapper\]/li[1]/a/span[2])).click();SetString
chromeDriver.getWindowHandles();for(String
currentWindow){chromeDriver.switchTo().window(window);}}//打印页面标题System.out.println(chromeDriver.getTitle());chromeDriver.quit();}
chromeDriver.manage().window().minimize():窗口设置最小化
chromeDriver.manage().window().maximize()窗口设置最大化chromeDriver.manage().window().setSize(new
Dimension(width,height)):自定义窗口大小
chromeDriver.navigate().back():后退
chromeDriver.navigate().forward():前进
{chromeDriver.get(https://www.baidu.com);chromeDriver.findElement(By.xpath(//*[id\hotsearch-content-wrapper\]/li[6]/a/span[2])).click();Thread.sleep(2000);chromeDriver.navigate().forward();Thread.sleep(2000);chromeDriver.navigate().back();Thread.sleep(2000);chromeDriver.quit();}
chromeDriver.switchTo().alert();
{chromeDriver.get(https://www.baidu.com);WebElement
chromeDriver.findElement(By.xpath(//*[id\hotsearch-content-wrapper\]/li[6]/a/span[2]));Actions
Actions(chromeDriver);actions.clickAndHold(webElement);Thread.sleep(3000);chromeDriver.quit();}
keyboard(){chromeDriver.get(https://www.baidu.com);WebElement
chromeDriver.findElement(By.xpath(//*[id\kw\]));webElement.sendKeys(计算机);chromeDriver.quit();}
在一些注册页面可能就会出现选择框就可以利用Select利用如下方式来进行选择
{chromeDriver.get(http://city.zhenai.com/);WebElement
chromeDriver.findElement(By.xpath(/html/body/div[2]));Select
Select(webElement);select.selectByIndex(1);Thread.sleep(3000);chromeDriver.quit();}
页面中点击文件上传就会弹出系统窗口但是selenium不能操作系统窗口但是可以先选择上传文件按钮然后通过sendkey()输入要上传的文件路径即可。
chromeDriver.getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(file,pngFile);
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback