我在数据驱动模式下对一个简单的计算器应用程序进行了编码 UI 测试。添加断言后,我的测试结果没有通过,我认为这是由于“。” (Windows 计算器应用程序中已经存在的小数点)。
因此,我只想知道如何编写代码,以便接受所有类型的值,包括十进制和整数。我用于数据表的 CSV 文件是
input1 input2 expected_add
1.2 2.3 3.5
2.4 2.5 4.9
5.6 1.4 7
这里第一行和第二行通过,但第三行失败。
这是我用于数据驱动测试的示例代码。
this.UIMap.add_2_dec_numParams.UICalculatorDialogSendKeys = TestContext.DataRow["input1"].ToString();
this.UIMap.add_2_dec_numParams.UIItemEditSendKeys = "{add}" + TestContext.DataRow["input2"].ToString() + "=";
this.UIMap.add_2_dec_num();
this.UIMap.add_asertExpectedValues.UIItemEditText = TestContext.DataRow["expected_add"].ToString()+" ";
this.UIMap.add_asert();
前两行通过,因为它们有小数。在第三行的预期结果中,我需要将值7
设为7.
只有这样它才会被计算器接受。那就是问题所在..
如果我将代码更改为以下内容:
this.UIMap.add_asertExpectedValues.UIItemEditText = TestContext.DataRow["expected_add"].ToString()+"."+" ";
然后第三行将通过,前两行将失败。错误将显示为expected <3.5 > actual<3.5. >
,expected <4.9 > actual<4.9. >
这就是问题所在。