写在前面:此博客主要用于记录我的学习selenium的心得体会,目前仍是在初步接触学习的阶段,会在后期的学习中不断的完善这篇博客,若有不正确的地方欢迎指正,也能够私下一块儿探讨。html
selennium是一套强大的自动化测试工具,主要用于web应用程序的测试,并且是彻底开源的。selenium包含有seleniumWebDriver、seleniumIDE和seleniumSever,其中seleniumIDE主要是运行在Firefox上的一个脚本录制工具,能够简单的记录和回放与浏览器的交互,而seleniumWebDriver能够根据不一样的语言定制专门的自动测试化脚本,其中主流的有Java、c#、pthyon等,seleniumWebDriver支持主流浏览器,包括IE、chrome、Firefox等,特别须要强调的是selenium能够兼容到IE6等低版本IE浏览器,seleniumSever暂时没有用到,介绍请参考selenium官网(http://www.seleniumhq.org)。web
这里我用C#写了一个简单的案例,只要目的是为了将本身在初次学习中体悟到的东西记录下来。chrome
1 using System; 2 using System.Text; 3 using System.Text.RegularExpressions; 4 using System.Threading; 5 using NUnit.Framework; 6 using OpenQA.Selenium; 7 using OpenQA.Selenium.Chrome; 8 using OpenQA.Selenium.Support.UI; 9 namespace UnitTest 10 { 11 class Program 12 { 13 static void Main(string[] args) 14 { 15 IWebDriver driver; 16 StringBuilder verificationErrors; 17 string baseURL; 18 /** 19 * 以前因为项目须要在选择自动化测试工具去专门查询过 20 * selemniu如何兼容到IE6,找到了解决方法就是下载一个 21 * 和IE11对应的IEWebDriver,可是在进行简单测试的时候 22 * 发现IE加载很慢,就启用了,但今天我得空去学习selenium 23 * 想到以前第一次写这段代码一直报错,提示Chrome版本太低 24 * 就试着采用了以前的方法,即下载和Chrome版本对应的ChromeWebDriver 25 * 而后就成功了,故记录下来 26 */ 27 //"D:\\HarmonyDocuments\\study\\UnitTest"为ChromeWebDriver所在文件夹 28 driver = new ChromeDriver("D:\\HarmonyDocuments\\study\\UnitTest"); 29 baseURL = "http://baidu.com/"; 30 verificationErrors = new StringBuilder(); 31 driver.Navigate().GoToUrl(baseURL); 32 driver.FindElement(By.Id("kw")).SendKeys("helloworld!"); 33 driver.FindElement(By.Id("su")).Click(); 34 } 35 } 36 }
2017/12/25c#
虽然selenium是自动化测试工具,可是因为selenium并非专门针对某一个项目来进行测试,所以须要根据项目须要对selenium进行框架化,即根据业务逻辑,将一些经常使用的方法包装成适合当前项目的方法,或者能力更强的时候作一个适合大部分项目自动化测试需求的框架,经查阅资料,这篇博客的思想给了我提示(https://www.cnblogs.com/tobecrazy/p/4553444.html),但后续的框架话还须要进行实践浏览器