1

这需要详细解释。

想象一下,我在一个工作表中有一个带有测试用例的 Excel 电子表格,并且我可能在另一个工作表中预期(验证)消息(除了第一个工作表中的预期消息)。

在一个到第二个工作表中的字段值之间也有一些联系。

请参阅:欢迎,<First Name> <Last Name>作为示例。
您可以在“测试用例”工作表的“预期结果”字段中看到该字段的值是:“用户被带到我的帐户页面并显示以下欢迎消息:“&Messages!$B$1244&”,其中首先名字是戴夫,姓氏是布朗。”

所以“&Messages!$B$1244&”表示工作表“Messages”中的字段 B1244

现在的问题。
如果为我提供了所有测试用例,例如电子商务网站的以下示例,我该如何使用基于此输入的编码 UI 测试?我可以自动化 Excel,使用测试用例工作表中的步骤并将其与数据输入和验证的编码 UI 记录相结合。

我相信我需要进行手动编码,部分使用来自 Coded UI 记录器的记录输入步骤和验证,并可能使用手动编程进行验证。我想听听其他人是否做过类似的事情。

我想通过编写功能/用户故事将其合并到 Specflow BDD 中,这些测试用例将成为场景。

任何成功,关于使用 Excel 测试自动化作为数据驱动测试的想法。

谢谢拉德

名为“测试用例”的测试用例工作表:
======================
测试用例名称 测试用例目标  
frontstore.01-3 从订单中注册购物者
                  具有有效输入的确认页面  

# 步骤数据预期结果  
-------------------------------------------------- ----------------------------------------------
1 启动测试店面 http://testserver.com/index 已加载欢迎页面。  
2 单击登录链接登录页面已加载。  
3 点击新客户注册页面下的注册。  
4 输入有效输入并单击提交“登录 ID = TestUser                               
                                           名字 = 约翰                                   
                                           姓氏 = 克拉克                                
                                           ...(其他字段)注册成功。  
                                                                       用户被带到我的帐户页面   
                                                                       并显示以下欢迎消息:   
                                                                       欢迎, <First Name> <Last Name>,名字是  
                                                                       大卫和姓氏是布朗。”  


名为“消息”的验证消息工作表:  
======================  
#MyAccountPages 中使用的文本  
-------------------------------------------------- -------------------------  
MA_WELCOME                                    欢迎,<名字> <姓氏>  

在阅读了一些关于编码 UI 测试的信息后: 当然可以,但是数据/句子如下:

“启动测试店面”<br> “单击登录链接”

“注册成功。
用户被带到我的帐户页面
并显示以下欢迎消息:
欢迎,其中名字是
大卫,姓氏是布朗。”

包含动作和数据,所以我需要深入到句子的某些部分以将其转换为动作并绑定到参数。如果我理解得很好,数据绑定只能用于将列值绑定到某些参数。所以我需要一些方法来自动识别这些句子的含义,并从其中的一部分中使用一些绑定。

所以如果我有一句话:

“启动测试店面”将被翻译为:

CurrentBrowser.Navigate(Helper.TranslateTargetUrlFrom(“test storefront”)) 其中“test storefront”可能解析为http://testserver.com/index店面主页,我可以忽略 URL 的数据列,或者我可以捕获 Launch 关键字来表示CurrentBrowser.Navigate(ColumnValue(Data)) 并忽略句子的“测试店面”部分。

“单击登录链接”可以翻译为 CurrentBrowser.FindLink(“登录”).Click(),

所以在这种情况下,我需要知道 Sign In 是链接的文本,我需要再次提取“Sign In”来表示链接的文本。

我认为这是 CodedUI 的手动风格,我可以对一些动作进行少量记录,并依赖于从给定句子中手动提取术语。

我想知道如何在语义上编写更好的测试用例以实现自动化。我可能需要某种自由形式的测试用例解析器来识别某些单词的语义,例如:单击、导航、启动、输入、单击下方等,并通过重用现有的辅助方法和记录的操作将其转换为代码进行一些手动绑定,但不是使用列中的整个数据值,而是提取值。

对这种自动化有什么想法吗?

4

1 回答 1

1

我认为您可以通过数据绑定输入参数并仅将 Excel 作为数据源读取来做到这一点,您将需要使用 CodedUI 而不是 MTM + Fast Forward

于 2011-02-04T03:58:56.310 回答