【发布时间】:2015-08-04 05:40:57
【问题描述】:
我一直在引导 UI 中使用 CodedUI,我目前正在使用的解决方案是基于该 UI 构建的。
我最近注意到,在自动执行 Smoke 测试的功能时,记录的步骤(使用 VS2013 的 CUI)用于日期选择器涉及的业务功能(创建预算期),单击下拉菜单后自动执行一直失败在日期选择器上(运行测试方法时)。
我记录了几次并尝试重新创建此问题,我发现选择器中默认选择的日期必须是测试方法正在记录以运行该方法时所在的日期。
无论如何,如果我在记录日期后几天运行测试方法,由于日期选择器总是将当前(系统日期)作为预选日期,因此从那时起,测试方法的执行将失败(除非我手动选择了我从日期选择器中记录测试方法的日期)。
我尝试消除它从 UIMap 中监视预选日期的测试属性(内部文本),但我无法找到合适的解决方案。
如果有任何 CodedUI 流利的人之前处理过引导 Datepicker,你能帮我吗?
或者,如果有人知道如何从对 UI 属性的监视中消除搜索属性(仅当这是一种道德尝试),是否有人能够帮助我?
代码片段:
图 2:UIMap.Designer.cs 中的 UIStartDateEdit 类
【问题讨论】:
-
在 UI 地图编辑器中找到
UIStartDateEdit并查看其初始化(或默认)值。然后使用数据驱动的想法在那里写一个新的价值。在调用AddBudget之前,作业会进入您的[TestMethod]。 -
@AdrianHHH 我已经上传了
UIStartDateEdit的编码sn-p。我无法找到默认日期的初始化。请问您能进一步帮助我吗? -
应该还有
AddBudgetParams和AddBudgetExpectValues等类。它们包含什么? -
@AdrianHHH 我已将
UIMap.Designer.cs中AddBudgetParam的代码sn-p 添加到上述问题中,供您参考。但是在AddBudgetParam类中没有保存开始日期 的变量。同时,正如你提到的,UIMap.Designer.cs中没有名为AddBudgetExpectValues的类, -
图片中的“开始日期”字段显示“2015 年 8 月 1 日”。我没有看到你的代码,但我试图让你搜索它并告诉你可能的地方。您需要找到设置的位置或方式。找到日期后,接下来的步骤应该很容易。
标签: c# datepicker automated-tests ui-automation coded-ui-tests