作业3
添加某只股票到自选,然后再次搜索并验证,股票已经加入自选。(不要使用文字内容判断,使用get attribute)
帖子地址:https://testerhome.com/topics/22235
思寒给的要求是:不要使用文字内容判断,使用get attribute。
我猜想这么做的初衷是担心“已添加”这个按钮名字改变,所以最好选择一个不容易变化的属性来判断。
助教的做法是:通过“已添加”的resource-id属性“followed_btn”定位到该元素,再通过get_attribute获取到text属性,断言text属性是否等于”已添加“
这么做可能会有2个问题:
- 假如没有添加成功,定位“followed_btn”的时候一定会报错
- 假如添加成功,但是按钮的text改变,也会断言失败
我的思路是:通过层级关系获取该按钮的父元素,再取子元素,再通过get_attribute获取resource-id属性,判断是否等于"followed_btn"。
重新写了下断言,case可以跑通过
followed_button = self.driver.find_element(
By.XPATH,
'//*[@text="09988"]/../../..//*[contains(@resource-id,"add_attention")]//*[contains(@class,"TextView")]'
)
assert "followed_btn" in followed_button.get_attribute('resource-id')
对事不对人,欢迎一起讨论~