【发布时间】:2020-01-03 09:26:19
【问题描述】:
我有一个使用 Specflow、Selenium 和 C# 的测试框架。
Specflow 测试步骤如下所示(我使用的是数据表): 我在贷款目的部分创建了以下贷款目的
|loan purposes |moreinfo |active|
|Debt Consolidation|True |True |
|Home Improvements |True |True |
所以很明显,这个数据表中有 2 行,第一行只是标题。
在上述步骤的步骤定义中,我首先确定表中的计数并将其存储为变量(在上述实例中正确地给了我 2 的计数)。然后我遍历表中的行数并单击 UI 上的“添加按钮”以根据测试步骤添加所需的行数——因此在本例中,它正确地单击了两次添加按钮,添加了 2空白行。
var data = dataTable.CreateSet<ProductLoanPurposeData>();
var count = data.Count();
for (int i = 0; i < count; i++)
{
ClickLoanPurposeAddButton();
}
这就是我卡住的地方。 所以添加到 UI 上的每一行都有自己的类——我在我的 PageClass 中标记了这个元素“LoanPurposeRow”。 我想要做的是从 dataTable 的第一行获取数据,并将其输入到 UI 上的第一个“LoanPurposeRow”。如果我的数据表中有更多行,那么我想移动到第二个“LoanPurposeRow”并从数据表中的第二行获取数据,依此类推。
我一直在网上搜索并查看了各种答案,但没有找到执行上述操作所需的内容。提前致谢
【问题讨论】:
标签: c# selenium datatables iteration specflow