前端测试 最近遇到的 webdriver 的灵异事件

victor · 2013年11月07日 · 最后由 思寒_seveniruby 回复于 2013年11月07日 · 1528 次阅读


如图所示,用户登陆之后会在 Home 这个 tab,然后点击 Lessons 或者 Loops,就会跳转到相应页面。
之前用于定位 Lessons 和 Loops 的方式是 用 name

@FindBy(how = How.XPATH, using = "lessons")
private WebElement lessons;

@FindBy(how = How.NAME, using = "loops")
private WebElement loops;

点击操作为 lessons.click() loops.click()
脚本运行一直良好。

今天调试,突然跑不过,跑来跑去跑不过。 然后 把点击操作改成强制鼠标移动到那个位置点击,依然无效。

然后,只能改用 xpath 去定位。 第一次改为
@FindBy(how = How.XPATH, using = "//div[@class = 'menuElem lessons']")
private WebElement lessons;
调试依然不通过。

必须改为
@FindBy(how = How.XPATH, using = "//div[@class = 'menuElem lessons']/a")
private WebElement lessons;
才能点击到。

这是否意味着 以后 xpath 无法写的过于笼统,必须精确到最后一层?

疑问是,之前用 name 一点问题都没有,最近为什么就不行了呢?

共收到 1 条回复 时间 点赞

需要明确你点击的对象, 当 div 中不只是连接的时候, 有可能会点击到连接外的某个像素点上. 精确定位到自己要点击的对象才行. 比如某个 button, link 等

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册