Selenium WebDriver:为了编辑和删除列表中的元素,为什么我应该总是 select 第一个元素,反之亦然
Selenium WebDriver: For editing and deleting elements in a list, what are reason why I should always select the first element and vice versa
我正在使用 Selenium WebDriver,我可以在我的框架中选择 select 列表中的第一个元素,或列表中的任何元素以编辑、删除或可以执行的任何操作在元素上进行测试。
例如,我在一个列表中有三个地址。每个地址都有一个标签。对于每个地址,我都可以编辑或删除该地址。对于框架,我可以创建一个不接受任何参数的方法 deleteAddress(),它将始终删除第一个地址。或者我可以选择在接受字符串参数 deleteAddress(String label) 的框架中创建一个方法,该方法将在列表中搜索该标签以删除该特定地址。
为什么我应该总是选择第一个元素有优点,为什么我不应该有缺点吗?
测试列表第一个元素的一些优点:
- 要查找的元素通常 easy/fast
- 元素不太可能不存在(即可能必须删除所有列表元素才能找到第一个元素。)
测试列表第一个元素的一些缺点:
- 您永远无法 100% 确定正在测试的是哪个列表元素
- 您最终可能会更改不该更改的内容(例如 editing/deleting 用户管理员权限或其他高级用户权限)
- 您正在测试的元素可能同时由您团队中的另一名成员tested/utilized
- 如果您的测试重复运行,您最终可能会删除整个列表
根据我的经验,前两个缺点引起了足够的关注,以至于我总是创建和使用一个孤立的测试元素,而不管与之交互需要任何痛苦。我想尽可能多地控制元素及其周围环境,所以我总是知道每次测试的测试环境 before/during/after 的精确状态。此外,如果元素丢失,则测试失败并且没有其他元素受到意外影响。
我正在使用 Selenium WebDriver,我可以在我的框架中选择 select 列表中的第一个元素,或列表中的任何元素以编辑、删除或可以执行的任何操作在元素上进行测试。
例如,我在一个列表中有三个地址。每个地址都有一个标签。对于每个地址,我都可以编辑或删除该地址。对于框架,我可以创建一个不接受任何参数的方法 deleteAddress(),它将始终删除第一个地址。或者我可以选择在接受字符串参数 deleteAddress(String label) 的框架中创建一个方法,该方法将在列表中搜索该标签以删除该特定地址。
为什么我应该总是选择第一个元素有优点,为什么我不应该有缺点吗?
测试列表第一个元素的一些优点:
- 要查找的元素通常 easy/fast
- 元素不太可能不存在(即可能必须删除所有列表元素才能找到第一个元素。)
测试列表第一个元素的一些缺点:
- 您永远无法 100% 确定正在测试的是哪个列表元素
- 您最终可能会更改不该更改的内容(例如 editing/deleting 用户管理员权限或其他高级用户权限)
- 您正在测试的元素可能同时由您团队中的另一名成员tested/utilized
- 如果您的测试重复运行,您最终可能会删除整个列表
根据我的经验,前两个缺点引起了足够的关注,以至于我总是创建和使用一个孤立的测试元素,而不管与之交互需要任何痛苦。我想尽可能多地控制元素及其周围环境,所以我总是知道每次测试的测试环境 before/during/after 的精确状态。此外,如果元素丢失,则测试失败并且没有其他元素受到意外影响。