首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >请求行为更改以允许更容易的测试

问请求行为更改以允许更容易的测试
EN

Stack Exchange QA用户
提问于 2019-03-28 11:56:15
回答 4查看 83关注 0票数 1

我是QA工程师(我的工作场所中第一个也是唯一一个),我正在尝试使用Selenium + Java实现测试的自动化。

我正在开发一个应用程序,其中有一个用于选择用户生日的日历。

要输入生日,您必须单击日历图片(这将显示更大的日历),然后单击一年,然后单击一个月,然后单击一天。因此,这是一个最小的4点击(但你可能需要更多,以选择正确的生日)。

我对Selenium有点陌生,但是由于日历上没有任何in (也没有名字),我已经知道我需要相当长的时间才能将其自动化(直接输入生日是不可能的)。

知道了这一点,我是否有理由要求(并大力推动),以便应用程序的行为将发生变化,并允许用户(和我)直接进入那里的生日?

还有什么是我没有想到的,可以让我在不改变应用程序行为的情况下更容易地选择日历上的日期?就像让java修改html以便启用与日历链接的输入(以便允许我直接输入生日)?

EN

回答 4

Stack Exchange QA用户

发布于 2019-03-28 12:31:16

您应该始终能够讨论如何使应用程序更具可测试性。更好的办法可能是与开发人员一起实现测试,这样他们就能感受到困难。在敏捷团队中,创建足够的测试覆盖是一项共同的责任。在我的书中,与开发人员更紧密地合作是必须的,但也让他们实现和维护end-2-end测试。

从技术角度来看,日历最终会填充一个隐藏的输入字段。尝试用JavascriptExecutor填充字段。只有当日历部件是经过良好测试的框架/库的一部分时,我才会这样做。如果它是一个自定义的内部小部件,我更愿意让一些测试使用实际的组件。

票数 1
EN

Stack Exchange QA用户

发布于 2019-03-28 12:39:10

考虑一下这个问题。

可能没有名字或ID,但由于它是一个日历,它大概是在弹出/覆盖上显示文本。因此,您可以抓取覆盖,然后在其内部查找如下内容:

代码语言:javascript
复制
driver.findElement(By.xpath("//span[contains(text(),'2019')]");

那就对一个月/一天做同样的事。

通常可以使用一些东西来获得到日历元素的唯一路径。

票数 0
EN

Stack Exchange QA用户

发布于 2019-03-28 15:32:44

我认为您需要在输入被阻塞之前检查一下,这是实现过程中的一个要求吗?如果是这样的话,它可能更难改变。

如果它不是在需求中,请大声解释一下,如果它被改变了,你可以得到什么好处。在这种情况下,沟通是关键。

随着新的发展,只需尝试预测您的需求,并要求必要的改变,而开发团队仍在努力。

在实现方面,我个人喜欢遵循用户能够做的事情,即使自动化需要更长的时间,但在我看来,这使它更加现实。

票数 0
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/38496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档