概述:
该框架最初是为测试 Web 应用程序而构建的。为简单起见,我们会说需要一个
Suite.xls
, keywords.java
带功能,or.properties
包含 XPath 的文件。 以下是这四个项目相互引用的位置以及它们包含的内容:
C:\WebApplicationFooTest\src\com\selenium\xls\Suite.xls
Suite.xls
包含:C:\WebApplicationFooTest\src\com\selenium\xls\1.Test1.xls
.....基于运行测试步骤一种。关键词 B. xpaths C.数据
C:\WebApplicationFooTest\src\com\selenium\xls\2.Test2.xls
.....基于运行测试步骤一种。关键词 B. xpaths C.数据
C:\WebApplicationFooTest\src\com\selenium\test\Keywords.java
clickButton
函数, verifyText
功能 C:\WebApplicationFooTest\src\com\selenium\config\or.properties
XPath 表达式,即-
save=//input[@value='Save']
C:\WebApplicationFooTest
文件夹被检入存储库。它可以被 check out 并在其他人的机器上运行。设想:
接下来,我们决定要开始自动化我们的新 Web 应用程序 Bar。那么让我们来看看我们的四个必需品。 1. Suite.xls 这次会有所不同,即- 1.BarTest1 ... runmode=Y。 2. 带有测试步骤的电子表格将被称为 1.BarTest1。 3.
Keywords.java
中的大部分内容可以重复使用(即 - clickButton
不会因网络应用程序而异)。 4. 必须将 Bar 网页上存在的新 XPath 表达式添加到 or.properties
使用不同的变量。乔结账WebApplicationFooTest
从存储库中取出,将其用作基础,并自动执行 WebApplication
酒吧。问题:
C:\WebApplicationBarTest
,存储库将在两个不同的地方有很多通用代码,WebApplicationFooTest
, WebApplicationBarTest
.如果在 Keywords.java
中添加了新功能,它必须在两个不同的地方更新。但是,如果他将更改合并到现有存储库文件夹中,WebApplicationFooTest
,然后他的Suite.xls
for Bar 测试将覆盖 Foo 测试 Suite.xls
!现在,当 Jane(非技术人员) checkout 运行时,它也不会运行注:
Suite.xls
指定将运行或不运行的电子表格。 src\com\selenium\xls
中的每个 Excel 表必须在 Suite.xls
中列出.如果有多余的,自动化将不会运行。 save=//input[@value='Okay']
.因为他没有环顾or.properties 看变量save
已经使用了,有两个变量叫做 save
;他添加的一个和现有的一个,即- save=//input[@value='Save']
. Joe 提交了此更改,当 Jane 运行自动化时,它未通过 Foo web 应用程序测试,因为他的 save
现在坏了。 可能的解决方案:
src\com\selenium\xls
中文件夹,添加一个名为 MasterList
的文件夹.所有电子表格都在此处 checkin ;它们是用于 Foo 测试,还是 Bar 测试等。这取决于 checkout 的人使用自动化从该文件夹中复制出他们想要的内容,并放入 src\com\selenium\xls
。并创建一个 Suite.xls
这需要填写他们想要运行的电子表格。 什么是 SOP 和/或您对制作这样一个框架的建议?
泰!
最佳答案
每个测试套件都应该构建为自己的项目(在 Eclipse 意义上)。有一个包含 Java 代码的通用项目。
有一个“主”测试套件,用于应用程序测试。 Joe 的测试套件位于一个单独的项目中。Suite.xls
需要特定于测试套件,因此每个套件会有一个。
应通过相对于工作空间的路径来引用各个电子表格。这允许您在主测试套件和各个测试套件之间共享电子表格。
关于java - Selenium Web 自动化 java 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23919965/