51Testing软件测试论坛

标题: Selenium自动化测试高手必备:基于WebDriver的Web UI自动化 [打印本页]

作者: lsekfe    时间: 2022-1-10 13:50
标题: Selenium自动化测试高手必备:基于WebDriver的Web UI自动化
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#代码



  1. using OpenQA.Selenium;
  2. using OpenQA.Selenium.Chrome;
  3. namespace HelloSelenium
  4. {
  5. class Program
  6. {
  7. static void Main(string[] args)
  8. {
  9. IWebDriver driver = null;
  10. try
  11. {
  12. //1.  打开Chrome浏览器
  13. driver = new ChromeDriver();
  14. //2.  进入https://www.baidu.com/主页
  15. driver.Navigate().GoToUrl("https://www.baidu.com/");
  16. //3.    搜索框输入“Selenium”
  17. driver.FindElement(By.Id("kw")).SendKeys("Selenium");
  18. //4.  点击“百度一下”
  19. driver.FindElement(By.Id("su")).Click();
  20. }
  21. finally
  22. {
  23. //5.  关闭Chrome浏览器
  24. if (driver != null)
  25. {
  26. driver.Dispose();
  27. }
  28. }
  29. }
  30. }
  31. }
复制代码

Curl命令

1.打开Chrome浏览器

启动命令提示符,执行chromedriver.exe --port=9515 (注意选用与Chrome版本对应的chromedriver版本,端口只要未被占用即可)。

  1. Curl命令
  2. 1.打开Chrome浏览器
  3. 启动命令提示符,执行chromedriver.exe --port=9515 (注意选用与Chrome版本对应的chromedriver版本,端口只要未被占用即可)。
复制代码
[attach]136118[/attach]


另起一个命令提示符,执行curl命令(注意端口号),记住返回的sessionId。

curl  -d @JsonFile1.json http://localhost:9515/session
  JsonFile1.json内容:
  {
    "desiredCapabilities": {
      "caps": {
        "nativeEvents": false,
        "browserName": "chrome",
        "version": "",
        "platform": "ANY"
      }
    }
  }
[attach]136119[/attach]
2.进入https://www.baidu.com/主页
  1. curl -d @JsonFile2.json http://localhost:9515/session/36d903cbd2177c278b5d39bbe74a3318/url
  2.   JsonFile2.json内容:
  3.   {"url":"https://www.baidu.com/"}
复制代码
3.搜索框输入“Selenium”
  1. 获取elementId:
  2. curl -d @JsonFile3.json http://localhost:9515/session/36d903cbd2177c278b5d39bbe74a3318/element
  3.   JsonFile3.json内容:{"using":"css selector","value":"#kw"}
复制代码

[attach]136120[/attach]

输入“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"}

[attach]136121[/attach]
点击:

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#代码























作者: bravestarr    时间: 2022-1-21 10:43
Selenium是Web UI自动化测试工具,不是框架




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2