写在前面 做web自动化测试都有体会,本质也就是通过操作页面元素对象来模拟用户操作行为,那么首先我们先找到这些元素对象,然后才能进行一系列操作. 我们得先告诉自动化工具或者说代码要操作那个元素,毕竟代码和工具是无法像人工一样识别页面上的元素的,那么如何让这些动作精准的作用到我们想要作用的元素对象上呢? 下面我就一起来学习元素定位操作,当然如果懂一点JavaScript.HTML基础的话上手会更快. 查看页面元素 用360浏览器打开博客园我的中心页面,右键选择审查元素,就可以看到整个页面的html…
document对象 一.找元素 1.根据id找 示例: <input id = "a" type="button" value="找元素" onclick="Show()" /> function Show() { alert(document.getElementById("a")); } 输出的结果是[objectHTMLDivElement],意思是找到了HTML里面的div.根据id找…
1.web 基础-html.dom 对象.js 基本语法 Dom 对象里面涉及元素定位以及对元素的修改.因为对元素操作当中涉及的一些 js 操作,js 基本语法要会用.得要掌握前端的基本用法.为什么要元素定位?因为找到这个元素,就能告诉代码要找谁要做什么. 2.元素定位 四大基本元素定位:id name class_name tag_name 针对链接:link_text 部分文本内容:partial_link_text 万能定位方式:xpath css 常用的元素定位方式是:id xpath…
问题思考 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 解决思路 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原生控件进行元素定位,而Web网页是单独的B/S架构,两者的运行环境不同因此需要进行上下文(context)切换,然后对H5页面元素进行定位操作. context 简介 Context的中文翻译为:语境; 上下文; 背景; 环境,在开发中我们经常说“上下文”,那么这个“上下文”到底是指什么意思呢? A…
问题思考 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 解决思路 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原生控件进行元素定位,而Web网页是单独的B/S架构,两者的运行环境不同因此需要进行上下文(context)切换,然后对H5页面元素进行定位操作. context 关于应用程序环境的全局信息的接口. 这是一个抽象类,其实现由Android系统提供. 它允许访问特定于应用程序的资源和类,以及对应用程序级…
APP自动化测试关键环节--元素定位,以下我们来了解appium提供的元素定位方法! 1. id定位,id一个控件的唯一标识,由开发人员在项目中指定,如果一个元素有对应的resource-id,我们就可以采用这种方式来实现元素定位操作,但是实际开发中,也有可能app项目的开发人员不是很严谨,一个页面有很多个相同的id,获取到的元素结果是一个集合,所以这种情况我们需要用list进行接收 //找到想要定位的元素并进行点击 androidDriver.findElement(By.id("id&quo…
目录 1.uiautomatorviewer介绍 2.uiautomatorviewer工具打开方式 3.uiautomatorviewer布局介绍 4.uiautomatorviewer工具的使用 之前我们在做Web页面自动化测试的时候就说过,元素定位是页面自动化测试的第一步. 同理App自动化测试的第一步,也是元素的定位. 在APP中定位元素的话,需要借助一些元素定位工具. APP中的元素定位工具大致有三种: uiautomatorviewer工具 Appium Inspector工具 Ch…
本文我们一起通过学习Vue模板编译原理(一)-Template生成AST来分析Vue源码.预计接下来会围绕Vue源码来整理一些文章,如下. 一起来学Vue双向绑定原理-数据劫持和发布订阅 一起来学Vue模板编译原理(一)-Template生成AST 一起来学Vue模板编译原理(二)-AST生成Render字符串 一起来学Vue虚拟DOM解析-Virtual Dom实现和Dom-diff算法 这些文章统一放在我的git仓库:https://github.com/yzsunlei/javascrip…
利用freemarker生成基于word模板的word文档 freemarker简介 FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP.它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等. freemarker下载地址: http://freemarker.incubator.apache.org/freemarkerdownload.html…
#利用生成器生成一个可迭代对象#需求:生成可迭代对象,输出指定范围内的素数,利用生成器产生一个可迭代对象#生成器:本身是可迭代的,只是 yield 好比return返回,yield返回后函数冻结状态,当再次调用时从冻结状态开始 class PrintNumbers(object): """docstring for PrintNumbers""" def __init__(self, start,end): self.start = start…