好的东西都是小包装的——什么是Selenium WebDriver
automation

好的东西都是小包装的——什么是Selenium WebDriver

Posted by Ritinder Kaur on Dec 10 2015

软件开发行业已经出现了明显的转变,转向为主要使用web界面的移动平台创建应用程序. 如今,敏捷方法论推动了应用程序开发, 自动化测试已经成为当务之急.

 

What is Selenium WebDriver?

Selenium WebDriver是一个开源的自动化工具,在中国非常流行 software quality assurance. Not only this, 您还可以利用Selenium WebDriver来生成关于项目状态的例行报告.

Aptly named after the trace mineral "selenium", 即使小剂量也有巨大的健康益处*, Selenium WebDriver also is good for you!

Let’s see how.

 

Selenium WebDriver做的不仅仅是自动化测试

Selenium WebDriver最初是作为一个用于软件测试的自动化工具构建的. 它可以在所有主流浏览器(如Firefox)上运行, Chrome, Internet Explorer, Opera and Safari and deploys on Windows, Linux and Macintosh. It can be used with equal ease in cloud testing.

Selenium WebDriver simulates user actions on web browsers; it provides methods for locating UI elements and comparing the expected results with actual application behavior at the user end.

测试可以使用任何编程语言进行设置,如Python、Java、Ruby、PHP或c#. Selenium WebDriver直接调用Web浏览器,并使用它的本机API驱动浏览器.

 

Information iconSelenium WebDriver不仅使自动化测试变得容易, 你也可以将日常和重复的任务自动化! For instance, 如果您希望接收的邮件根据某些关键字进行排序,并存储在单独的文件夹中,以便以后访问, you can put Selenium WebDriver to the task.


Selenium WebDriver可以与性能测试工具一起使用
like Apache JMeter and SoapUI. Selenium is ideal as it can be run headless; 这有助于避免多个浏览器实例在不同的标签页上运行的开销. 这可能会影响性能测试的结果.

New call-to-action

However, Selenium WebDriver can only do so much...

  • 它不能帮助自动化浏览器插件,如Flash或基于silverlight的应用程序.
  • Selenium Webdriver无法处理基于windows的弹出窗口, 除非它与AutoIT等第三方工具一起使用.
  • It cannot help automate the testing of desktop apps or native mobile apps as it uses Javascript running in the Web browser to simulate the user actions; however, 它可以与AutoIT一起使用来测试桌面应用程序.
  • It is an open source tool, so there is no vendor support at hand; the user has to rely on online community forums for help.
  • 只有当您将Selenium WebDriver与第三方工具(如JUnit和TestNG)一起使用时,您才能使用它生成报告.
  • 作为一名自动化工程师,你必须知道一种编程语言,如Python、PHP、c#、Ruby或Java.

 

使用Selenium WebDriver测试自动化框架架构

what is selenium webdriver

As you can see in the above image, 您可以创建一个框架,利用Selenium来自动化测试.

Selenium WebDriver框架代码包括所有html字段的ID值,测试使用它与web应用程序交互. 这种分层框架的好处是,测试本身与web应用程序页面的任何变化绝缘. 在Selenium WebDriver框架代码中,只需要更改html字段的ID值, if they change in the application, and all tests will still work!

 

Compilation of results - Reporting

To compile test results, 你将不得不使用带有NUnit这样的单元测试界面的Selenium WebDriver. This is how you do it:

  1. 用c#创建一个项目,并使用以下命令添加对Selenium WebDriver和NUnit框架的引用:

                              using NUnit.framework;

                              using openQA.Selenium;

2. In the project, set the ‘start external program’ path to the location of the NUnit .exe file.

     3. In Nunit, specify the location of the project (.dll) file.

     4. Click on ‘Run’.

测试将被执行,结果将显示在NUnit GUI窗口中,如下图所示:

what is selenium webdriver

 

The icing on the cake...

Selenium WebDriver helps you direct test results to a QA database. 这样手机上买足彩的app便能够轻松地进行一些重要的QA分析, like testing intensity, 质量指标和测试人员信心来评估项目的健康状况. 这些数据有助于产品经理量化风险评估.

  • The testing intensity 测试用例的数量将被表示为测试实际运行的次数与它在特定时间段内打算运行的次数的比率. 测试强度也与测试用例的优先级有关. 对于高优先级的测试用例,测试强度应该保持在较高的水平.
  • Quality indicator 将指示测试的通过/失败状态从最近的测试运行到最早的测试运行. For instance, if, out of 5 test runs, 最近的3次测试结果都是“通过”, app属性的质量被认为是好的.
  • Tester confidence 是一个主观的度量,是由测试强度和质量指标的结合来衡量的.

 

But, we should be careful…

The code written for automation should be accurate and true to testing goals; otherwise there is the possibility that a false positive result may end up complicating the testing process and slowing it down, 在如今快速发布应用的科技环境中,哪一个绝对不是一个选择.

 

* Although, 据说硒最初是汞中毒的解药, and guess what major player was on the early QA tools scene? 

New call-to-action

automation Ruby TestNG JUnit Java reports Tools Technical cloud framework metrics browser
友情链接: 1 2 3 4 5 6 7 8 9 10