1.ajax实现的页面元素定位问题  

  最近在做项目的时候遇到一个问题,通过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()
               ........

 2.定位元素

使用xpath定位元素的时候,写成相对路径,遇到问题如下:

似乎是相对路径的时候无法找到父元素,换成绝对路径解决。

定位元素能使用id和name最好,使用xpath定位是下下选,因为一旦页面做了改变都会影响到定位,使用xpath也尽量通过目标元素的上级元素中的id货name、class定位后再往下找路径。

3.下拉菜单

通过selenium的Select类库中提供的方法来操作下拉菜单

import selenium.webdriver.suurport.ui import Select

#生成选择器

selector = Select(driver.find_element_by_id('name'))

设值四种方法

1.selector.select_by_vlaue('WNCD005')

   2. selector.select_by_index(0)

3. selector.select_by_visible_text(李懿)

     4.selector.find_element_by_tag_name('options')[0].click

4.操作table中的元素

假如要获取table中第二列的值,依次做如下操作:

1.定位table

table = dr.find_element_by_xpath('//*[@id="leave-table"]')

2.所有行

rows = table.find_elements_by_tag_name('tr')

3.循环行

for i in range(0,len(rows))

#获取所有列

cols = rows[i].find_element_by_tag_name('td')

#取出第二列的值

value = cols[1].text

GUI测试问题汇总的更多相关文章

  1. GUI 测试

    图形用户界面( GUI )对软件测试提出了有趣的挑战,因为 GUI 开发环境有可复用的构件,开发用户界面更加省时而且更加精确.同时, GUI 的复杂性也增加了,从而加大了设计和执行测试用例的难度.因为 ...

  2. 转载:开发者眼中最好的 22 款 GUI 测试工具

    对于很多同学来说gui程序的测试是一个难点,所以我从网上转载了一篇关于gui测试的一篇文章,里面罗列的很多工具,大家可以尝试一下学习学习. 英文原文:22 best GUI testing tools ...

  3. 开发者眼中最好的 22 款 GUI 测试工具

    1.Abbot - Java GUI 测试框架 Abbot是一个基于GUI的简单的Java测试框架,它能够帮助开发者测试Java用户界面. 它提供事件自动生成和验证Java GUI组件,使您能够轻松地 ...

  4. windows gui测试工具:AutoIt

    windows gui测试工具:AutoIt 2017-01-09 目录 1 简介2 示例1 记事本自动化操作3 示例2 上传文件 1 简介 返回 AutoIt v3 是用以编写并生成具有 BASIC ...

  5. GUI测试要点

    本人测试知识还不完整,所以下面的文字总结自网络上的文章,红色字体为我平时的测试经验,如有雷同之处,还请见谅,仅自己学习之用. 转载请说明来自博客园--邦邦酱好. ------------------- ...

  6. UI测试和GUI测试的区别

    UI 测试 包含GUI测试和command line 测试 分享连接 https://www.ranorex.com/resources/testing-wiki/gui-testing/

  7. python GUI测试自动化

    #! /usr/bin/env python#coding=GB18030'''GUI测试自动化 语言:python模块:pywinauto环境:windows7中文.python-2.6_32bit ...

  8. Jmeter(十七)_驱动浏览器做GUI测试

    jmeter不光可以完成性能测试.接口测试,现在也可以依靠WebDriver来完成GUI的功能自动化测试了,是不是很神奇? 1:下载JMeterPlugins-WebDriver-1.3.1.zip, ...

  9. 耿丹CS16-2班课堂测试作业汇总

    Deadline: 2016-11-01 11:59 作业内容 课堂测试作业总结 00.题目得5分,多半扣在格式上,有些同学代码写得很过分,已经很仁慈对待,同学们珍惜之: 01.界面设计得分不好,换行 ...

随机推荐

  1. Spark集群安装MySQL环境

    1.修改yum源 鉴于用国外的Yum源,速度比较慢,所以想到将国外的yum源改为国内的Yum源,这里选择使用比较多的阿里云源.具体修改方法可以参考此连接 我们先新建一个新的文件用来存放Yum源: [k ...

  2. pat1093. Count PAT's (25)

    1093. Count PAT's (25) 时间限制 120 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CAO, Peng The strin ...

  3. Mvc内建功能(DefaultModelBinder)自动绑定。

    在做Asp.Net MVC项目中,都知道View负责页面展示数据或者提供页面收集数据,而所展示的数据或者收集的数据都是从Controller的Action中获取或提交到Controller的Actio ...

  4. windows远程连接Mac、Mac远程连接Mac、Mac连接Windows

    最近因为要进行学习交流,需要用到远程连接,所以找了三种不同的方式,记录如下 1.Windows远程连接Mac 1.mac os x电脑设置 系统偏好设置-共享-勾选“远端管理”,然后在电脑设置—VNC ...

  5. 移动webApp - 1像素实现(点5像素的秘密)

    在移动web项目中,经常会实现以下1像素的边框 移动web设计中,在retina显示屏下网页会由1px会被渲染为2px,那么视觉稿中1px的线条还原成网页需要css定义为0.5px 但是正当我们去用0 ...

  6. 编写xml文件的几个注意事项

    作者:朱金灿 来源:http://blog.csdn.net/clever101 xml注释的规范是这样的: <!-xml注释内容 --> 值得注意的是任何xml注释都必须放在<?x ...

  7. Eclipse + Tomcat 环境下配置 JSTL 标签

    1.下载 jar 包. 网址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/ 2.解压后将jstl.jar和stan ...

  8. GitHub教程(三) 本地仓库托管到GitHub

    本文开头先特别声明一下:由于GitHub教程属于Git系列教程的GitHub子篇章,因此GitHub教程中将不再详细介绍Git操作命令及其用法,我会根据实际需要穿插着回顾Git操作命令.如果读者需要学 ...

  9. rrdtool

    参考 http://oss.oetiker.ch/rrdtool/doc https://calomel.org/rrdtool.html http://www.cnblogs.com/lightid ...

  10. HTML?这些还不懂咋办?

    1.什么是空白折叠现象?为什么要空白折叠呢? 对于我们大多数人的习惯来讲,大都喜欢利用空格或者换行来调整文章的文字结构.这样往往可以使我们可以更轻松的阅读.但是,在HTML中却不允许我们这么做,这是为 ...