自动化测试框架
摘要:自动化测试框架和工具的发展大致经历了以下4个阶段1.线性测试 通过录制,产生线性脚本,对其进行回放。脚本可重复使用率低。2.模块化与库 将测试分成不同的区域,这种框架将程序的各个模块的操作,检查,结果等过程封装成各个函数,形成库文件,这些脚本可以被测试用例脚本调用,解决用例重用性的问题。3.数据驱动 解决大量不同数据的测试的用例的重写问题,将测试数据和操作分离。4.关键字驱动 将脚本和测试数据彻底的分离,关键字主要包括:被测试对象(object),操作(action),值(value),使用这种方式的缺点:需要处理很复杂的逻辑,编写用例会受限制。 大家可以根据实际情况来选择适合自己的测试框架。
阅读全文
自动化生成 日志
摘要:脚本的执行步骤必须明确、并且可控、而且还要有详细的日志、结果输出,以便出现问题进行定位。自动化脚本不应该只停留在执行上,还必须有对结果进行判断的能力,碰到异常能够做相应的处理。所以日志输出结果很重要。http://stackoverflow.com/questions/19966054/execute-command-line-statements-from-within-nunit一.可以使用nunit 自动执行日志代码1.cmd进入到nunit-console.exe路径(或者配置环境变量)2.输入nunit-console.exe -h(-h为help),可以得出以下信息:Options
阅读全文
使用页面对象模型(pageFactory)
摘要:页面对象模型可以使测试脚本有更高癿可维护性,减少了重复癿代码,把页面抽象出来。页面对象设计模式提供了测试一个接口,测试可以像用户行为一样来操作页面。通过隐藏页面元素定位,返有劣将测试代码和页面分离。使代码看起来好看整洁在写此代码时候,遇到driver 为null,调试后原来没有driver传到driver.Navigate().GoToUrl(Url)此系统的验证码是用代理服务器获取的,因为没有代码经验,debug的时候,验证码返回的值是null,经询问开发人员,原来我没有配置文件此代理服务器为局域网Ip。。直接上代码(login页面为例) public class DtMoverLoginP
阅读全文
android获取package name
摘要:下载apk resigner(此被,,)另外一个下载url配置好android 环境,ANDROID_HOME 和路径直接到sdk,将.apk拖到此apk resigner,将会得出package name和startActivity
阅读全文
android自动化(2)
摘要:使用monkeyrunner 自动化删除程序的时候出现如下错误在任务管理器卸载android adb,Ok。。然后再次使用的时候就出现这个问题,Try below steps:Close the Eclipse if runningGo to the Android SDK tools directory in Command Prompttypeadb kill-serverthen typeadb start-serverNo error message is thrown while starting ADB server, then adb is started successfull
阅读全文
Selenium 设置管理cookie,超时时间
摘要:可以通过option设置管理cookie,超时时间一、cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,储存在内存。而session机制采用的是在服务器端保持状态的方案,储存在硬盘里。 同时我们也看到,由于在服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择。 public void CookiesTest() { IWebDriver mainWindow = new FirefoxDriver(); ...
阅读全文
Selenium 实现联想下拉框
摘要:直接在文本框输入字符,并不能实现联想下拉框,第一种方式:强制执行js driver.FindElement(By.Id("top_search_input")).SendKeys("a"); var js_displayTheMenuBlock = string.Format("document.querySelector('#userSearchBox').style.display= 'block'");//找到js改变属性 ((IJavaScriptExecutor)driver).Execute
阅读全文
selenium 处理浏览器多窗口
摘要:测试过程中,会弹出一些子窗口,并且有可能在多个窗口之间切换必须要获取每个窗口的唯一标识符切换到该窗口,才能对该窗口的元素进行操作首先,获取每个窗口的唯一标识符,然后以及和的形式返回 var mainWindow = new FirefoxDriver(); INavigation navigation = mainWindow.Navigate(); navigation.GoToUrl("http://www.hao123.com"); IWebElement btnMainWindow = mainWi...
阅读全文
Set up your first C# test with NUnit or resharper
摘要:此链接为一种方式,用Nunit单元测试驱动测试代码http://relevantcodes.com/using-nunit-to-execute-selenium-webdriver-tests/第二种方式:下载安装resharper,直接可以在Visual Studio run the testhttp://www.jetbrains.com/resharper/
阅读全文
selenium 启动ie 浏览器
摘要:selenium 启动ie 浏览器var driver = new InternetExplorerDriver(@"IEDriverServer.exe路径"); driver.Navigate().GoToUrl("http://www.baidu.com");port每次启动的时候都不一样很多人遇到说无法跳转到指定页面的情况,有些解说是ie浏览器安全设置问题,但是我的浏览器并没有去掉启用保护模式的勾选,也能启动成功
阅读全文
autoit使用
摘要:autoit下载地址:http://www.autoitx.com/thread-12964-1-1.html?sid=4zMMSb在autoit的安装目录下有个Au3Info.exe文件,该文件可以查看windows控件的信息,包括控件ID,类别名,高级模式,控件点击坐标等 用途是在操作控件函数的参数查询,如:ControlClick ( "标题", "文本", 控件ID [, 按钮 [, 点击次数 [, X坐标 [, Y坐标 ]]]] ),这里面就需要用到Au3Info.exe拖动finder tool到指定位置,可以得出控件函数的参数eg:打开No
阅读全文
Selenium 处理windows 上传 窗口
摘要:selenium无法控制windows窗口,故需要引用第三方工具autoit.在如下网址,下载并安装http://www.autoitscript.com/site/autoit/安装autoit-v3-setup.exe对于下图窗口,selenium是无法定位控制的,可以使用finder tool...
阅读全文
android 自动化(1)
摘要:学习android自动化测试要感谢一个朋友耐心的指导环境搭建:(需要java JDK 以及android SDK)JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.htmlandroid SDK:http://developer.android.com/sdk/index.html连接手机:在控制台输入:adb devices查看设备adb shell monkey -p com.android.device -s 10 --throttle 500 -v -v -v 100这个
阅读全文
Selenium 处理模态对话框
摘要:模态对话框的原理模态窗口点击下一步的动作为,聚焦到“下一步”,然后直接回车driver.FindElement(By.CssSelector("div.rg_btn a")).SendKeys("\n");然后再点击提示框的确定按钮
阅读全文
Selenium 前期学习
摘要:一.了解selenium必读文档:官方文档:http://docs.seleniumhq.org/docs/03_webdriver.jsp二.公司使用c#开发,配合开发的要求,使用visual studio 2012平台,使用nunit作为单元测试驱动使用selenium rc也必须安装java JDK三.关于定位方式:1.Id2.Name3.Class4.CSS-Selector:http://www.w3school.com.cn/cssref/css_selectors.asp5.XPATH选择器的基本技巧: http://www.w3schools.com/xpath/xpath_s
阅读全文
Selenium如何实现dropbar移动
摘要:遇到这个拖拽的dropbar,如何实现呢,,经过网上查找,可以用Action的方式实现或者js来控制原理:移动按钮的同时,数字也随着变化解决方法:1.最简单的就是直接在文本框输入相应的数字 2.利用js来控制 3.Actions来执行(无法获取相应的x.y坐标位置,放弃)第二种方式来做: var js_ChangeRadio = string.Format("document.querySelector('#bar1 img').style='left: 100px'"); ((IJavaScriptExecutor) driver).Exe
阅读全文