只是想知道其他人如何管理他们为 selenium 测试自动化编写的测试用例?我一直在调查可能与 testlink 集成以显示结果和所有内容,但我已经为我的环境设置了 Jenkins 并运行我的测试。我真正想要的是某种方式来很好地记录我的测试,例如每个测试为非程序员执行的步骤。
我正在使用 Selenium 和 python,并使用 Jenkins 来运行测试。
只是想知道其他人如何管理他们为 selenium 测试自动化编写的测试用例?我一直在调查可能与 testlink 集成以显示结果和所有内容,但我已经为我的环境设置了 Jenkins 并运行我的测试。我真正想要的是某种方式来很好地记录我的测试,例如每个测试为非程序员执行的步骤。
我正在使用 Selenium 和 python,并使用 Jenkins 来运行测试。
我尝试了两种方法:
1)您可以使用Cucumber编写如下测试步骤:
@sanity @home_page @test_628
Scenario: Launch Support FAQs & Guides from Home cog
Given I navigate to Home page
When I click "Support" user logo link
Then I should see Support FAQs & Guides app launched
用 Gherkin 语言编写的每个步骤(Given、When、Then)都可以使用 Selenium 来实现(我现在必须在 Ruby 上编写,所以我使用 Watir 而不是 Selenium)。
见https://github.com/cucumber/cucumber/wiki/Python
2) 但在此之前,我使用的是Robot Framework + Python + Selenium + Jenkins。你可以这样写测试:
Go To Google Page [Documentation] Go to google page and search something
Open Browser to Google Page
Input Search selenium
Submit Search
这是使用人类可读的关键字完成的。它打印出非常漂亮的报告,并且可以轻松地与 Jenkins 集成。
见http://www.wallix.org/2011/07/26/how-to-use-robotframework-with-the-selenium-library/
要记录测试用例以及非程序员的测试用例,行为驱动开发 (BDD) 是最好的方法。一些 BDD 工具是 Cucumber、JBehave 等。
例如,假设我们有一个网站来管理一些员工,并且我们有一个管理员想要添加新员工的测试用例。
所以上面的测试用例可以用 Cucumber 来记录,如下所示:
Feature: Admin : Employees : Add Employees : Add Employee Details
Scenario: Verify that admin user is able to add new employee
Given Joe is an admin user
Given Joe is logged into the admin account
When Joe clicks "Add Emplyee" button
And Joe enters "Test Employee" in "Employee Name" text box
And Joe enters "12/05/1988" in "Birth Date" text box
And Joe selects "Male" from "Gender" radio button
And Joe clicks on "Submit" button
Then Joe gets message that says "Employee is added successfully."
上述测试用例可以很容易地被非程序员理解,并且他可以执行测试执行的每个步骤。
此测试用例的文件夹层次结构将是功能/管理员/员工/添加员工/添加员工详细信息
希望这可以帮助 :)
我不使用TestLink。我认为使用Jenkins 作业服务器来安排我的测试要容易得多,它可以完成与 testlink 几乎相同的工作,而且我认为,其他人更容易理解。我将我的测试代码检查到 Subversion 中,Jenkins 在运行我的测试之前检查最新的代码。Jenkins 具有处理 JUnit 和 TestNG 报告格式的插件,并具有电子邮件功能等。
注意:唯一的问题是,如果您使用 RemoteWebDriver 和网格,则测试需要由在前台进程中运行的 Jenkins 从属服务器运行(而不是作为服务在后台运行)。至少在 Windows 上是这样,在 Linux 上可能不是问题。
我们使用 Cucumber 创建可读的测试并将结果拉回 Enterprise Tester,我们的测试管理平台。我们还可以将 Selenium 测试和 jUnit 测试从 Jenkins 拉到 Enterprise Tester 中,以实现手动和自动测试的可见性以及对故事/需求的可追溯性。