博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Selenium 学习总结
阅读量:5291 次
发布时间:2019-06-14

本文共 2198 字,大约阅读时间需要 7 分钟。

新的项目需要, 要用 selenium+webdriver 做 Web UI 的 automation测试, 总结下学习成果,欢迎大家讨论。

 

要用 Selenium前需要准备如下:(我用的是 .NET C#语言)

  1. Download Selenium:
  2. Download server:它是一个 jar文件 
  3. IE driver:
  4. Download .net dll:

由于 selenium是基于java 的,需要安装java,下载并安装java:

在运行 selenium 的 automation case前需要开启 selenium server

运行 CMD:java -jar selenium-server.jar –interactive   (selenium-server.jar 在上面第2步下载得到)

 

好了, 以上所有的准备工作都做好,准备好以后,我们就可以开始写 automation test cases 了。

我用的是 VS, C# code 写的 test cases。

打开 VS, 然后创建一个 test project,然后添加如下引用:

WebDriver.dll,

WebDriver.Support.dll,

ThoughWorks.Selenium.Core.dll    (这些dll在上面第4步中下载得到)

 

然后添加 using:

using OpenQA.Selenium.Firefox;    (如果用其他的driver,可以添加 类似 IE等的 driver)

using OpenQA.Selenium;

using Selenium;

using OpenQA.Selenium.Support.UI;

 

然后就可以创建test cases 了

 

       [TestMethod]

        public void TestDriver()

        {

            OpenQA.Selenium.Firefox.FirefoxDriver webDriver = new OpenQA.Selenium.Firefox.FirefoxDriver();

 

            //OpenQA.Selenium.IE.InternetExplorerDriver webDriver = new OpenQA.Selenium.IE.InternetExplorerDriver(@"E:\Selenimu");    启动 IE 浏览器

 

 

            webDriver.Navigate().GoToUrl("http://www.google.com");

 

            IWebElement element = webDriver.FindElement(By.Id("lst-ib"));

            element.SendKeys("Tom Liu");

 

            IWebElement searchButton = webDriver.FindElement(By.Name("btnK"));

            searchButton.Click();

 

            System.Threading.Thread.Sleep(1000);

 

            string xpath = "//div[@id='imagebox_bigimages']/div/a";

            IWebElement imageLink = webDriver.FindElement(By.XPath(xpath));

            imageLink.Click();

 

 

            webDriver.Quit();

 

        }

 

总结下, webdriver可以有几种找 UI 元素的方法,例如: By.Id, By.Name, By.CssSelector, By.XPath

//By id

WebElement ele = driver.findElement(By.id(<element id>));
//By Name
WebElement ele = driver.findElement(By.id(<element name>));
//By className
WebElement ele = driver.findElement(By.className(<element ClassName>));
//By tabName
WebElement ele = driver.findElement(By.tagName(<html tagName>));
//By linkText
WebElement ele = driver.findElement(By.linkText(<link text>));
//By partialLinkText
WebElement ele = driver.findElement(By.partialLinkText(<link text>));//通过部分文本定位连接
//By cssSelector
WebElement ele = driver.findElement(By.cssSelector(<css>));
//By XPATH
WebElement ele = driver.findElement(By.xpath(<element xpath>));

 

转载于:https://www.cnblogs.com/Tomliuxin/p/5710751.html

你可能感兴趣的文章
Hibernate : Disabling contextual LOB creation as createClob() method threw error
查看>>
【bzoj4872】[Shoi2017]分手是祝愿 期望dp
查看>>
字符串元转分
查看>>
thinkphp 防sql注入
查看>>
201521123044 《Java程序设计》第1周学习总结
查看>>
MIT Scheme 的基本使用
查看>>
程序员的“机械同感”
查看>>
在16aspx.com上下了一个简单商品房销售系统源码,怎么修改它的默认登录名和密码...
查看>>
c++回调函数
查看>>
linux下Rtree的安装
查看>>
【Java】 剑指offer(53-2) 0到n-1中缺失的数字
查看>>
Delphi中ListView类的用法
查看>>
bzoj3110: [Zjoi2013]K大数查询 【树套树,标记永久化】
查看>>
[原创]Java 的传值小例子
查看>>
【MySQL学习】安装和配置 服务无法启动 没有报告任何错误
查看>>
C# 修饰符
查看>>
JavaScript启示录
查看>>
我需要什么样的浏览器?
查看>>
取textaera里的值
查看>>
java设计模式1--工厂方法模式(Factory Method)
查看>>