当前位置: 首页 > news >正文

深圳网站建设有哪些公司设计制作小车教学反思

深圳网站建设有哪些公司,设计制作小车教学反思,rp如何做网站,西安营销推广前言 实施UI自动化测试的时候#xff0c;经常会遇见上传文件的操作#xff0c;那么对于上传文件你知道几种方法呢#xff1f;今天我们就总结一下几种常用的上传文件的方法#xff0c;并分析一下每个方法的优点和缺点以及哪种方法效率#xff0c;稳定性更高 被测HTML代码…  前言 实施UI自动化测试的时候经常会遇见上传文件的操作那么对于上传文件你知道几种方法呢今天我们就总结一下几种常用的上传文件的方法并分析一下每个方法的优点和缺点以及哪种方法效率稳定性更高 被测HTML代码 !--upload_file.html--!DOCTYPE html html langen headmeta charsetUTF-8title上传文件/title /head bodyinput idupload_file typefile /body /html 第一种方法使用webdriver api 提供的方法send_keys上传文件 send_keys方法 实例 ------------------------------------ Time : 2019/7/17 19:03 Auth : linux超 File : upload_file_send_keys.py IDE : PyCharm Motto: Real warriors,dare to face the bleak warning,dare to face the incisive error! QQ : 28174043qq.com GROUP: 878565760 ------------------------------------from selenium import webdriver import timedriver webdriver.Firefox() driver.get(rfile:///e:/CnblogCode/upload_file.html) upload_element driver.find_element_by_xpath(//*[idupload_file]) time.sleep(3) # 为了看效果 upload_element.send_keys(rE:\CnblogCode\upload_file.html) 执行过程 可以看到执行过程很顺利且代码实现简单也没有报错 但是往往现实是残酷的因为有的网站的上传文件并不是采用 input标签来定义的上传文件按钮所以就无法使用send_keys方法上传这也是这个方法的限制 AutoIt工具 第二种方法是AutoIT工具它是一个类似脚本语言的软件利用此软件我们可以方便的实现模拟键盘、鼠标、窗口等操作实现自动化 安装 官网地址AutoIt Downloads - AutoIt 安装完后可以找到如下一些工具 使用 1. 打开被测试的HTML页面并点击上传文件弹出上传文件窗口并保持当前窗口 2. 打开AutoIt Window Info(x86/x64)工具 3. 点击工具中Finder Tool标签下的按钮开始分别定位上传文件的【输入框】和【打开】按钮并记录TitleClassInstance图中红色窗口中的信息 注意不同的浏览器抓取的Title是不一样的Firefox文件上传Chrome打开IE选择要加载的文件) 4. 打开 SciTE Script Editor 工具开始编写脚本(注意脚本中的Edit1是class 和 instance 拼接的) ;first make sure the number of arguments passed into the scripts is more than 1 If $CmdLine[0]2 Then Exit EndIf ;if parmas num 2 ,then break ;$CmdLine[0] ;参数的数量 ;$CmdLine[1] ;第一个参数 (脚本名称后面) ;$CmdLine[2] ;第二个参数 ;都是从cmd传入参数handleUpload($CmdLine[1],$CmdLine[2]);定义上传函数有两个参数第一个是浏览器名字第二参数是文件路径Func handleUpload($browser, $uploadfile)Dim $title ;定义一个title变量;根据弹窗的title来判断是什么浏览器If $browserie Then ; 代表IE浏览器$title选择要加载的文件ElseIf $browserchrome Then ; 代表谷歌浏览器$title打开ElseIf $browserfirefox Then ; 代表火狐浏览器$title文件上传EndIfif WinWait($title,,4) Then ;等待弹出出现最大等待时间是4秒WinActivate($title) ;找到弹出窗口之后激活当前窗口ControlSetText($title,,Edit1,$uploadfile) ;把文件路径放入输入框此”Edit1“是用FinderTool获取到的ControlClick($title,,Button1) ;点击保存或者打开或者上传按钮此“Button1”使用FinderTool获取到的ElseReturn FalseEndIfEndFunc 5. 编译脚本为exe可执行文件 编写完脚本之后保存文件并打开Compile Script to .exe(x64/x86)工具  将保存后的脚本.au3文件转换为.exe可执行文件 6. 执行转换后的脚本 在执行脚本之前先确保上传文件的窗口已经打开接下来打开cmd执行exe程序  C:\Users\v-xug\Desktopupload_file_new.exe firefox E:\CnblogCode\upload_file.html 7. 执行效果 8. 编写selenium脚本 实例 ------------------------------------ Time : 2019/7/18 16:20 Auth : linux超 File : base.py IDE : PyCharm Motto: Real warriors,dare to face the bleak warning,dare to face the incisive error! QQ : 28174043qq.com GROUP: 878565760 ------------------------------------from selenium.webdriver.common.action_chains import ActionChains import os from selenium import webdriver import timeclass Base(object):staticmethoddef upload_file(exe, browser, filename):使用autoIt上传文件:param exe: 上传文件的exe程序所在目录:param browser: 浏览器类型 firefox chrome ie:param filename: 待上传文件路径:return: nonecmd exe browser filenameos.system(cmd)if __name__ __main__:driver webdriver.Firefox()driver.get(rfile:///e:/CnblogCode/upload_file.html) # 打开被测htmlupload_element driver.find_element_by_xpath(//*[idupload_file])action ActionChains(driver)action.move_to_element(upload_element).click().perform() # 点击上传文件弹出上传文件窗口action.release()time.sleep(3) # 为了看效果Base.upload_file(rE:\CnblogCode\upload_file_new.exe, firefox, rE:\CnblogCode\upload_file.html) # 上传文件 执行过程 以上就是使用AutoId工具完成上传文件的过程其实还是挺复杂的 但是配置一次之后以后就可以重复使用编译生成的exe文件了执行效果还是不错的 没出什么错误执行效率也还可以 模拟键盘 第三种方法模拟键盘的粘贴与回车操作并结合剪切板的操作来完成上传文件基本原理是向剪切板中发送文件(文件路径字符串)然后再从剪切板中获取到文件最后通过模拟键盘的ctrlv与enter键来完成文件上传 这种方法需要第三方库的支持安装pypiwin32库 pip install pypiwin32 实例 模拟键盘操作代码 keyboard.py 剪切板操作代码 clipboard.py 上传文件代码 upload_file_board.py 执行过程 失败 可以看到第二个动画上传文件未成功这也就这个方法的弊端只要移动了鼠标就有可能就不会成功毕竟模拟的是enter键这个过程你点击了别的地方那么enter的效果就变了所以这种方法很不稳定也不难发现代码量也很多而且需要掌握模拟键盘和剪切板的操作最不推荐使用的就是这种方法 之前我的实战项目里面用到过这种方法 当时我已经发现了这种方法的弊端 但是为了掌握这种模拟键盘的方法所以才使用的当然模拟键盘操作用到一些特殊的情况还是能解决很多实际问题的 WinSpy工具 第四种方法这个工具其实和AutoIt工具的元素定位方式一样但是不需要生成exe文件其实只是个辅助工具主要用来获取windows窗口句柄进而通过python脚本来控制 WinSpy安装 WinSpy download | SourceForge.net 下载完直接解压打开WinSpy32(64).exe即可使用 使用方法和autoId一样请按照下图的步骤操作记录winspy-Tree中红框信息 编写代码之前同样需要提前安装 pypiwin32库 实例 load_file_winspy.py 执行过程 此方法也比较稳定只要通过传递不同的浏览器参数即可完成不同浏览器中的上传文件操作而且相比于AutoId而言这种方法可以直接使用python编写代码且不需要编译成exe程序可以随时对代码进行修改易维护 总结 最后总结一下每个方法的优缺点 1. send_keys(): 如果所遇见的上传文件使用的是input标签且属性typefile均可使用也最好采用此方法方便简单执行效率高 2. AutoId 需编写VBS代码并编译为exe可执行文件过程繁琐编写selenium测试用例时无法随时调试内部代码但send_keys()无法使用时可以采用此方法执行效率较高稳定性也算可以 3. 模拟键盘和剪切板 此方法需要掌win32apiwin32gui模块的使用且代码编写繁琐上传文件时如果鼠标点击其他地方会导致上传失败脚本稳定性差且效率低但是如果用到一些特殊地方会起到比较好的效果 4. WinSpaywindows窗口句柄抓取工具不需要编译脚本为exe文件且上传文件操作使用的脚本是python第三方库实现易维护执行效率也较高推荐send_keys()不可使用时首先考虑此方法 如果你想学习自动化测试那么下面这套视频应该会帮到你很多  如何逼自己1个月学完自动化测试学完即就业小白也能信手拈来拿走不谢允许白嫖.... 最后我这里给你们分享一下我所积累和整理的一些文档和学习资料有需要直接领取就可以了 以上内容对于软件测试的朋友来说应该是最全面最完整的备战仓库了为了更好地整理每个模块我也参考了很多网上的优质博文和项目力求不漏掉每一个知识点很多朋友靠着这些内容进行复习拿到了BATJ等大厂的offer这个仓库也已经帮助了很多的软件测试的学习者希望也能帮助到你。
http://www.pierceye.com/news/288410/

相关文章:

  • 织梦后台网站栏目空白小广告制作
  • 钦州建设局网站云南网站建设招商
  • 韩国风格网站php源码网站怎么放到服务器上
  • 网站调优yandex搜索引擎入口
  • 医院网站建设具体内容商丘网站制作电话
  • 别人做的网站直播网站
  • 足球梦网站建设的基本思路沧州做企业网站
  • 招标建设网站什么是微信wordpress
  • 建设银行网站连不上成都网站快照优化公司
  • 网站 永久关停 请示广州网站建设骏域网站
  • 个人建站模板外国网站翻墙怎么做
  • 保定网站设计制作公司有经验的中山网站建设
  • 免费网站建设那个好wordpress本地怎么上传服务器
  • 自己做的网站加载慢WordPress模板首页文件是啥
  • 教学网站建设网站建设岗位有哪些
  • 网站建设合同的验收表网页网站的区别是什么
  • 开福区网站建设中wordpress调用所有栏目
  • 网站建设的流程是什么意思青岛做网站公司
  • 什么网站有项目做中铁建设企业门户网
  • 网站域名商代理商安卓商店
  • 深圳中英文网站建设广州知名设计公司排名
  • 一个公司设计网站怎么做的蜜桃传奇免费网页版
  • 网络推广网站培训班有人用wordpress默认主题
  • 网站建设 后台南宁做网站方案
  • 在线制作插画网站网站建设有哪些公司
  • 合肥的网站建设剂屏自己可以做开奖网站吗
  • 官网设计比较好看的网站学校网站建设对教学的意义
  • 济南建站推荐企汇优见效付款毕设代做网站招聘
  • 泰然建设网站免费软件app下载大全正能量网站
  • 张掖市网站建设北京代理记账财务公司