1.  通过页面或者window 的name切换: switch_to_frame(name) switch_to_window(name) 那么问题来了,出现2个或者以上窗口时候,新打开的window一般都是没有name,此时可用driver.switchTo().window(windowHandleId)来进行切换 //获取当前窗口handleId String  thisHandleId = driver.getWindowHandle(); //切换到新window for(Strin…
上一篇博客,我写了python自动化框架的一些知识和粗浅的看法,在上一篇中我也给自己提出一个需求:如果记录在测试过程中接口的调用情况?提出这个需求,我觉得是有意义的.你在测试过程中肯定会遇到一些莫名其妙的问题,比如:web某个页面一直在刷进度条,导致你定位元素失败,但是,你再手动操作一遍可能无法复现....对于我们来说,肯定会遇到许多类似的问题.你会发现有时候仅仅靠一张截图,你远远找不到bug的原因.这时候,我在想如果我能拿到这一系列操作所调用的接口信息多好,我就能明白为什么发送这种问题了.比如…
很多人刚开始使用python+appium去执行APP自动化的时候经常会遇到webdriver.Remote,报错位置指向都是driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub/',desired_caps)这行代码 很容易误导别人错认为是自己的webdriver发生了错误,此时应该如何排查这个问题,以下将举例说明 当发生以下错误的时候 Traceback (most recent call last):File "E:\Workpla…
一.自动删除contactmanager 自动化测试appium提供的sample如下包/activity:com.example.android.contactmanager/.ContactManager ,发现提示如下错误 info: [debug] Error: Activity used to start app doesn't exist or cannot be launched! Make sure it exists and is a launchable activity> …
如果一个页面包含了form,同时这个form中的提交按钮是type=submit的input的时候,你刷新该页面,就会有弹窗提示是否重新提交表单,这个特性不胜其烦,常见解决方法有两个: 第一种是前端的解决方案: 将input[type=submit]改成button.onclick(function(){ajax;})的方式来异步提交form,这种方式不会有表单的弹窗问题. 第二种是后端的解决方案: 将form.is_valid()之后的返回代码由TemplateResponse改成HttpRe…
File->Project Structure->Libraries,然后点加号,将Tomcat lib文件夹下的servlet.jar和servlet-api.jar包导入.…
在 UI 自动化测试过程中,每个机器上浏览器的默认大小.默认位置不尽相同,需要截图的时候,页面元素可能显示不完全,因而我们需要知道浏览器的宽度,或者直接在启动浏览器时,设置浏览器的宽度或位置(此文暂不涉及,后续文章更新,谢谢). 直接上码了: /** * Get position and size of browser * * @author Aaron.ffp * @version V1.0.0: autoSeleniumDemo main.aaron.sele.core SeleniumCo…
selenium2 WebDriver是一款跨平台的 自动化测试工具,它可以操纵浏览器,模拟用户行为,非常方便用户进行自动化测试. .net项目使用它,首先要通过 Visual Studio 的 nugit 包管理器在项目中安装 Selenium WebDirver 它提供了 火狐.chrome.IE.HtmlUnit 浏览器的驱动,用来操作浏览器. 注意,启动浏览器需要相应的dirver ,放到测试程序运行目录里.火狐浏览器dirver  下载地址  https://github.com/mo…
静态页面HTML中标签的优化 (2010-04-03 20:54:06) 标签: 电脑 name 罗马数字 css 表单 杂谈 分类: 网页制作 从网上看了一篇关于静态页面中标签优化的问题,感觉还不错,所以就将它转到了自己博客里. 1.h1的合理使用,这个标签是对优化最有作用的一个了.<h1>到<h6>表示标题的6个级别-重要性从高到低,如果在设计网页过程中,你觉得它的默认外观不好看,可以通过 css轻松设置你想要的样式.2. <table> 里面不常用的一些标签:&l…
thinkphp中view页面中的volist标签转化为原生php分析(多去看源代码,你会发现不仅简单,方便你理解,还节约时间) 一.总结 1.标签和原生php之间的关系:标签只是为了方便你使用,标签能做到的功能原生php一定能做到,因为标签就是用原生php写的 二.thinkphp中view页面中的volist标签转化为原生php分析 view中的volist标签 {volist name="dataout" id="vo"} {/volist} 转化为原生php…