随笔分类 -  Selenium

摘要:控制滚动条到底部有时候我们需要控制页面滚动条上的滚动条,但滚动条并非页面上的元素,这个时候就需要借助js是来进行操作。一般用到操作滚动条的会两个场景:注册时的法律条文需要阅读,判断用户是否阅读的标准是:滚动条是否拉到最下方。要操作的页面元素不在吸视范围,无法进行操作,需要拖动滚动条这里需要掌握一些... 阅读全文
posted @ 2015-07-23 00:26 BruceLan 阅读(143) 评论(0) 推荐(0)
摘要:处理下拉框switch_to_alert() accept()下拉框是我们最常见的一种页面元素,对于一般的元素,我们只需要一次就定位,但下拉框里的内容需要进行两次定位,先定位到下拉框,再定位到下拉框内里的选项。将下面的代码保存成html通过浏览器打开会看到一个最简单常见的下拉框,下拉列表有几个选项。... 阅读全文
posted @ 2015-07-23 00:15 BruceLan 阅读(154) 评论(0) 推荐(0)
摘要:操作对象:·click点击对象·send_keys在对象上模拟按键输入·clear清除对象的内容,如果可以的话WebElement另一些常用方法:·text获取该元素的文本·submit提交表单·get_attribute获得属性值==================================... 阅读全文
posted @ 2015-07-22 23:33 BruceLan 阅读(124) 评论(0) 推荐(0)
摘要:UI自动化离不开前端技术。JS可以做selenium做不到的事情,但是在什么样的自动化的时候才能(或必须)要JS帮忙,我还没遇到过。不过JS可以selenium完成更强大的功能,这是不容置疑的。的同学可以自己补充下相关知识:http://www.w3school.com.cn/js/index.as... 阅读全文
posted @ 2015-07-22 00:06 BruceLan 阅读(228) 评论(0) 推荐(0)
摘要:多层框架或窗口的定位:switch_to_frame()switch_to_window()智能等待:implicitly_wait()经常会出现框架(frame)或窗口(window)的应用,给我们的定位带来了一个难题。有时候我们定位一个元素,定位器没有问题,但一直定位不了,这时候就要检查这个元素... 阅读全文
posted @ 2015-07-21 23:28 BruceLan 阅读(262) 评论(0) 推荐(0)
摘要:一、场景: 假如两个控件,他们长的一模样,还都叫“张三”,唯一的不同是一个在北京,一个在上海,那我们就可以通过,他们的城市,区,街道,来找到他们。在实际的测试中也经常会遇到这种问题:页面上有很多个属性基本相同的元素,现在需要具体定位到其中的一个。由于属性基本相当,所以在定位的时候会有些麻烦,这时候... 阅读全文
posted @ 2015-07-21 23:17 BruceLan 阅读(182) 评论(0) 推荐(0)
摘要:一、场景webdriver可以很方便的使用findElement方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,这时候就需要使用findElements方法。定位一组对象一般用于以下场景:·批量操作对象,比如将页面上所有的checkbox都勾上·先获取一组对象,再在这组对象中过滤出需要具... 阅读全文
posted @ 2015-07-21 23:03 BruceLan 阅读(149) 评论(0) 推荐(0)
摘要:webdriver提供了一系列的对象定位方法,常用的有以下8种:·id·name·classname·linktext·partiallinktext·tagname·xpath·cssselector以一个在百度首页输入selenium这个操作来,看看能采用什么定位方式,其效果截图如下:其代码定位... 阅读全文
posted @ 2015-07-21 22:33 BruceLan 阅读(144) 评论(0) 推荐(0)
摘要:一、简单的一个selenium+webdriver+python脚本# coding = utf-8from selenium import webdriverbrowser = webdriver.Firefox()browser.get("http://www.baidu.com")browse... 阅读全文
posted @ 2015-07-21 22:24 BruceLan 阅读(103) 评论(0) 推荐(0)
摘要:运行Selenium代码,浏览器打开报:Plugin Container for firefox已停止工作。据了解这个是插件不兼容,可能是Flash或者其他插件等兼容性问题。情况如下图:解决办法如下:该扩展是为了保证插件稳定运行而存在的辅助进程,出现此问题多半是因为某个插件冲突或安装异常所致。比较常... 阅读全文
posted @ 2015-07-17 17:33 BruceLan 阅读(581) 评论(0) 推荐(0)
摘要:最近比较空闲就仔细看了一下Selenium的源码,因为主要是使用WebDriver所以重点关注了一下WebDriver的工作原理。在前一篇blog里已经解释过了WebDriver与之前Selenium的JS注入实现不同,直接利用了浏览器native support来操作浏览器。所以对于不同平台,不同... 阅读全文
posted @ 2015-07-16 00:20 BruceLan 阅读(117) 评论(0) 推荐(0)
摘要:实体是client端,remote server端,client端即我们的自动化脚本可以通过driver启动一个浏览器作为remote server端。过程:请求-操作-响应。揭秘webdriver实现原理通过研究selenium-webdriver的源码,笔者发现其实webdriver的实现原理并... 阅读全文
posted @ 2015-07-16 00:16 BruceLan 阅读(124) 评论(0) 推荐(0)
摘要:unittest在Python单元测试中很常见,下面借助IDE录制的脚本并导出来分析它的框架。在百度首页输入selenium,空格,删除空格,然后回车搜索,录制如下:将录制完的脚本导出,另存为baidu_test.py打开另存为的脚本,其内容如下:# -*- coding: utf-8 -*-fro... 阅读全文
posted @ 2015-07-15 00:35 BruceLan 阅读(210) 评论(0) 推荐(0)
摘要:近期学习Selenium,学习和收集了一些资料,整理到博客上来。下面请看初步整理的Web UI自动化知识: 版权声明:本文为博主原创文章,未经博主允许不得转载。 阅读全文
posted @ 2015-07-14 14:19 BruceLan 阅读(119) 评论(0) 推荐(0)
摘要:Selenium IDE是Firefox的一个插件,是可以进行脚本录制以及案例转换, Firebug是网页浏览器 Mozilla Firefox下的一款开发类插件, 现属于Firefox的五星级强力推荐插件之一。它集HTML查看和编辑、Javascript控制台、网络状况监视器于一体,是开发 Jav... 阅读全文
posted @ 2015-07-12 17:13 BruceLan 阅读(195) 评论(0) 推荐(0)
摘要:家族介绍 项目实际需要,开始学习Selenium。 Selenium是基于WEB应用的验收测试工具集合,直接运行在浏览器中,通过一系列命令来模拟用户操作,Selenium可以将这些命令转化成实际的HTTP请求在浏览器中运行 :(1)Selenium Core:支持DHTML的测试案例(效果类似数... 阅读全文
posted @ 2015-07-12 16:32 BruceLan 阅读(141) 评论(0) 推荐(0)