Selenium自动化测试高手必备:基于WebDriver的Web UI自动化

上一篇 / 下一篇  2021-12-22 17:13:31 / 个人分类:自动化测试

Selenium是当前最流行的Web UI自动化测试框架,熟悉Selenium的人也知道,Selenium是基于WebDriver。那么能不能不用Selenium,直接调用WebDriver来实现Web UI自动化呢?答案当然是可以的,本文就带你来实现基于WebDriver的Web U自动化。本文通过调用Selenium、Curl命令、直接调用ChromeDriver三种方式,实现了同样的功能。编程语言为C#,已在Visual Studio 2019测试通过,其他主流编程语言也可以完成同样功能。对比三种实现方式,大家就可以容易的理解如何不用Selenium而直接调用WebDriver完成Web U自动化。阅读以下内容前,需要有Selenium和WebDriver相关基础知识。

手动步骤
1.打开Chrome浏览器
2.进入https://www.baidu.com/主页
3.搜索框输入“Selenium”
4.点击“百度一下”
5.关闭Chrome浏览器
调用Selenium的C#代码
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace HelloSelenium
{
class Program
{
static void Main(string[] args)
{
IWebDriver driver = null;
try
{
//1. 打开Chrome浏览器
driver = new ChromeDriver();
//2. 进入https://www.baidu.com/主页
driver.Navigate().GoToUrl("https://www.baidu.com/");
//3. 搜索框输入“Selenium”
driver.FindElement(By.Id("kw")).SendKeys("Selenium");
//4. 点击“百度一下”
driver.FindElement(By.Id("su")).Click();
}
finally
{
//5. 关闭Chrome浏览器
if (driver != null)
{
driver.Dispose();
}
}
}
}
}
Curl命令
1.打开Chrome浏览器
启动命令提示符,执行chromedriver.exe --port=9515 (注意选用与Chrome版本对应的chromedriver版本,端口只要未被占用即可)。
另起一个命令提示符,执行curl命令(注意端口号),记住返回的sessionId。
curl -d @JsonFile1.json http://localhost:9515/session
  JsonFile1.json内容:
  {
   "desiredCapabilities": {
   "caps": {
   "nativeEvents": false,
   "browserName": "chrome",
   "version": "",
   "platform": "ANY"
   }
   }
  }
2.进入https://www.baidu.com/主页
curl -d @JsonFile2.json http://localhost:9515/session/36d903cbd2177c278b5d39bbe74a3318/url
  JsonFile2.json内容:
  {"url":"https://www.baidu.com/"}
3.搜索框输入“Selenium”
获取elementId:
curl -d @JsonFile3.json http://localhost:9515/session/36d903cbd2177c278b5d39bbe74a3318/element
  JsonFile3.json内容:{"using":"css selector","value":"#kw"}
输入“Selenium”:
curl -d @JsonFile4.json http://localhost:9515/session/36d903cbd2177c278b5d39bbe74a3318/element/0.7861531328870939-1/value
JsonFile4.json内容:{"value":["Selenium"]}
4.点击“百度一下”
获取elementId:
curl -d @JsonFile5.json http://localhost:9515/session/36d903cbd2177c278b5d39bbe74a3318/element
JsonFile5.json内容:
  {"using":"css selector","value":"#su"}
点击:
curl -d @JsonFile4.json curl -d @JsonFile6.json http://localhost:9515/session/36d903cbd2177c278b5d39bbe74a3318/element/0.7861531328870939-2/click
JsonFile6.json内容:
  {}
5.关闭Chrome浏览器
关闭Chrome:
关闭Chrome
curl -X DELETE http://localhost:9515/session/36d903cbd2177c278b5d39bbe74a3318
关闭chromedriver.exe:
curl http://localhost:9515/shutdown
调用ChromeDriver的C#代码
添加微信:atstudy-js  或者扫描下方二维码,备注“博客”邀请你进入Python自动化测试学习交流群~

TAG: 软件测试 软件开发

 

评分:0

我来说两句