GUI测试问题汇总

  最近在做项目的时候遇到一个问题,通过xpath定位到元素后做一个循环操作,第一循环可以正常执行,第二次循环后就报错,错误信息:Message: The element reference of <button class="btn btn-info"> is stale; either the element is no longer attached to the DOM, it is not in the current frame context, or the document has been refreshed,怎么看xpath都没问题啊,搞了很久才发现页面我定位的那个元素在页面部分是通过ajax实现的,也就是说我的第一次循环后页面做了刷新,没有对元素进行重新定位就进入了第二次循环,因此会报这样的错误。

  

paths = ['//*[@id="mornExam-table"]/tbody/tr[1]/td[8]/button',
                             '//*[@id="mornExam-table"]/tbody/tr[2]/td[8]/button',
                             '//*[@id="mornExam-table"]/tbody/tr[3]/td[8]/button',
                             '//*[@id="mornExam-table"]/tbody/tr[4]/td[8]/button']
            #循环前定位 btn0
= dr.find_element_by_xpath(paths[0]) btn1 = dr.find_element_by_xpath(paths[1]) btn2 = dr.find_element_by_xpath(paths[2]) btn3 = dr.find_element_by_xpath(paths[3]) btns = [btn0, btn1, btn2, btn3] #循环测试数据 for j in range(0,len(flag)): try: btns[j] = dr.find_element_by_xpath(paths[j]) #第j次点第j个晨考按钮 btns[j].click()
               ........

猜你喜欢

转载自www.cnblogs.com/fr-up3/p/9380206.html