2015-07-04 18:05 编写本文 TeamCity编译selenium脚本,对于上传窗口处理只支持sendKeys的使用,不支持模拟人为按下Enter键和使用autoIt等操作,即使本地调试通过的脚本,提交编译执行后,也是报错,原因是teamCity编译执行脚本的过程中,只是后台启动相应浏览器的driver,和浏览器对应的进程,没有和人为操作一样的真实在前台打开一个浏览器界面导致的.发现这个缺陷还得从编写上传课件测试用例脚本说起.     一个上传课程测试用例,功能测试是,填写课程的基…
selenium无法控制windows窗口,故需要引用第三方工具autoit. 在如下网址,下载并安装 http://www.autoitscript.com/site/autoit/ 安装autoit-v3-setup.exe 对于下图窗口,selenium是无法定位控制的,可以使用finder tool来查看文件名的属性,class等 1.可以使用autoit工具将以下代码保存为.au3格式,然后run ,成为.exe格式,在代码中调用 var Autoit = new AutoItX3()…
Web上本地上传图片,弹出的框Selenium是无法识别的,也就是说,selenium本身没有直接的方法去实现上传本地文件,这里总结了两种上传文件的方式. 一.利用Robot类处理文件上传. 其大致流程可以为: 1. 利用selenium点击web上本地文件的上传按钮: 2. 在弹出的弹框中,文件路径输入框默认的是光标的聚焦,将文件在磁盘上的路径通过拷贝和黏贴的方法写上去. 3. 通过按下回车,默认触发弹框的确定按钮,完成文件上传的功能. 这里以百度首页的利用图片搜索为例: 打开百度首页,搜索按…
下面来介绍一下这个 FTP 上传一键脚本 ftp_upload.sh. 用途:用于在Linux系统下搭建FTP客户端向FTP服务器端上传文件: 总结一下 ftp_upload.sh 特点:1.支持文件批量上传至 FTP 指定目录:2.没有了. 1.下载该脚本并赋予执行权限下载脚本到本地待上传文件的目录下,比如:/data/www/default,如果没有,需要先创建.创建文件夹的命令为: cd /data/www/defaultwget --no-check-certificate https:…
本文是<Jenkins流水线(pipeline)实战>系列的第二篇,上一篇搭建好了Jenkins环境并执行了一个简单的pipeline任务,当时我们直接在Jenkins网页上编写pipeline脚本,这种方式虽然简单,但是也有不足之处: pipeline脚本内容复杂时,在网页上编辑和查找都不方便: 无法对脚本文件做版本管理,例如提交到GitHub上: 今天的文章打算解决上述问题:将pipeline脚本以文件的形势保存在GitHub上,让Jenkins下载该脚本然后执行: 系列文章地址 <…
需求描述: 通过mysql客户端登录到mysql数据库,如何执行操作系统上的SQL脚本文件呢? 操作过程: 1.编写测试脚本文件 [mysql@redhat6 scripts]$ cat SeCount.sql use test01 select count(*) from ts051; 2.登录到mysql数据库中 [mysql@redhat6 scripts]$ mysql -uroot -p Enter password: Welcome to the MySQL monitor. Com…
windows下上传shell脚本至linux,其格式将为dos.dos模式的shell脚本将不能再linux下正确运行,需要修改文件模式为unix. 1 查看文件模式方法 linux服务器上,用vi编辑器打开shell脚本,随后进入命令行模式,输入"set ff",即可查看文件模式. 查看文件指令: 显示的文件格式: 2 修改文件模式的方法 在命令行模式下,输入"set ff=unix",即可将dos模式修改为unix模式. 修改文件模式命令: 查看修改后的文件模…
Java+Selenium 上传文件,点击选择"浏览文件"按钮,报错invalid argument 解决代码: Actions action=new Actions(driver); action.click(driver.findElementByName("file")).build().perform(); 参考解决连接:https://blog.csdn.net/u012150449/article/details/109457495…
在写文件上传脚本的时候,遇到了很多问题,包括元素定位,以及上传操作,现在总结下来以下几点: 1. 上传的控件定位要准确,必要时要进行等待 WebElement adFileUpload = driver.findElement(By.xpath("//input[@type='file']")); 2. 上传操作 String filePath ="D:\\taxonomy\\DB\\HaierTaxonomy.xlsx";     adFileUpload.sen…
昨个改程序遇到一个问题,UI上面有需要上传文件的地方.但是我不知道怎么让Selenium完成 点击上传文件按钮->在弹出的文件选择窗口中选择路径和文件,点确定. 要知道弹出窗口属于window的范畴,Selenium只能处理Web page. Jeremy原先的代码用的是Selenium RC中的 type “filepath+filename”方法.可不知咋搞的反正运行到这里是进行不下去了. 正好借这个机会来研究一下在Webdriver里怎么做. 我自己写了个网页,里面就一句 我先是用Sele…
selenium自带了对应的API可以上传问题,如果这个上传文件的html code中显示的type是file那么你就可以使用下面的代码上传文件. /** * click the upload button to upload the file ,this is for hte webFile element ,the input type is file * @param driver * @param e * @param filepath * http://sauceio.com/inde…
公司的需求是: 用RobotFrameworjk框架执行case,用Testlink管理case和测试任务.需要持续统计每个版本的测试结果. 我觉得用Jenkins+Robot也行,Testlink+Robot也行.Testlink的优势就是可以管理case,分配测试任务.感觉如果要是能将Jenkins+Testlink+Robot整合到一起就完美了. OK,其实将Robot的测试结果传到Testlink上也比较简单,找对接口就行,但是关键的就是,接口找不对... Testlink的api模板我…
运行环境:windows 脚本功能:从目标系统下载数据库备份文件*.dmp 执行方法:windows任务计划定时调用文件ftp.bat 文件1:ftp.bat echo 开始备份日期: >> log.txt date /t >> log.txt echo 开始时间: >> log.txt time /t >> log.txt echo 删除旧备份 >> log.txt del /Q  E:\ftp\data\* ftp -n -s:"e…
1.下载与安装AutoIt v3  地址链接:http://pan.baidu.com/s/1hqsDFBA,我自己是32位的系统,用这个运行可以 2.安装完成后,如下图所示 3. AutoIt Windows Info 用于帮助我们识 Windows 控件信息. Compile Script to.exe 用于将 AutoIt 生成 exe 执行文件. Run Script 用于执行 AutoIt 脚本. SciTE Script Editor 用于编写 AutoIt 脚本 4.上传一个htm…
1,安装autoIt 2,工程中建文件夹,例如:script,将autoit 复制到该文件夹,并且编辑视频所在的文件夹的路径,编辑"au3"格式的文件 3,编辑完成后生成EXE文件(工具自带转换器,转换即可),将AUTOIT文件(au3格式)和刚刚生成的EXE文件放入工程文件夹中: 4,脚本即可调用该软件 phoExePath = curPath + Dom4jXml.getValue("SICK_FIRPHO_PATH"); Reporter.log(phoExe…
#!/usr/bin/env python #encoding=utf-8 # @Date: 2015-08-10 import datetime from ftplib import FTP """ 脚本功能: 1.上传/app/sinova/testlog/下的文件名为*%Y%m%d%H*的前一小时日志文件上传到Ftp服务器的/app/testftp/logs/目录下. 2.下载Ftp服务器的/app/testftp/logs/目录下的文件名为*%Y%m%d%H*的前一小…
之前和大家说了input标签的上传文件的方式: <selenium2 python 自动化测试实战>(13)——上传文件 现在好多网站上传的标签并不是input,而是div之类的比如: 全部都是div标签,这时候用上面的方法就不好用了.今天船长在大神的帮助下学会了两种方法,现在船长来教大家上传div这种标签的方式. 最方便的——SendKeys 大家只需要pip install SendKeys库,然后再代码里直接用就OK了,这里用大鱼号上传视频作为例子上代码: 注意,浏览器用的是火狐,因为c…
我们要区分出上传按钮的种类,大体上可以分为两种: 第一种普通上传:将本地文件路径作为一个值,放在input标签中,通过form表单将这个值提交给服务器: 第二种插件上传:是通过Flash.JavaScript.Ajax等实现(标签非input)的上传功能: --------------------------------------------------------------------------------------------------- 对于通过input标签实现的上传功能,可以…
迅雷号自媒体视频文件自动上传,贴标签发布 难点 本地文件上传,通过send_keys(‘文件路径’)的方式实现上传的目的 文件名通过正则匹配的方式进行处理,主要匹配出中文标题名称 处理过程中文件名称中包括中文字符,特殊字符,数字等 视频文件上传是否完成的判断,视频上传的进度条通过js加载,在上传的过程中让程序进入到循环中进行等待进度条的加载完成,根据加载完成后标签的内容来判定是否上传完成 发布是否成功的判断,发布成功前后页面几乎没有变化,通过查看元素查找上传成功和失败有哪些细微的变化,从细微的变…
工具:winspy Python所需安装模块:pywin32 (安装语句:pip install -i https://pypi.douban.com/simple pywin32) 元素位置: 对应代码: from selenium import webdriver from time import sleep import win32gui import win32con # 上传文件 upload = browser.find_element_by_xpath("//button[@cla…
上传文件 driver.findElement(By.xpath("//input[@type='file']"))).sendKeys("C:\\testContent.pdf"); action Actions actionObject = new Actions(driver); actionObject.keyDown(Keys.CONTROL).sendKeys(Keys.F5).keyUp(Keys.CONTROL).perform();…
#通过os.path.abspath()方法,打开图片的绝对路径,然后,定位上传按钮,然后,send_keys()方法中,添加这个文件路径就可以了…
下载百度网盘中的文件,最简单的办法是使用wget命令.找到百度网盘文件,点击下载,然后找到相应的下载地址,复制链接地址即可.但这种方法有一个bug,因为百度云网盘访问文件的链接地址是动态的,当文件比较大的时候就会出现下载链接失效而中断的问题. 为了解决这个问题,网上介绍了基于php和curl命令来编写的bpcs_uploader.php脚本的初始化和使用方法.按图索骥,可以很简单地完成这个任务. 现在,即使是下载大文件,也不用担心网址失效而中断啦! 参考资料: [1] http://tesfan…
ftp -i -n <<! open .x.x.x user yourFtpAccount yourPasswd cd /root/DailyBuild/webapps/ delete xxx.war lcd /home/product/-SNAPSHOT/webapps binary mput xxx.war bye ! 在Linux下有时候需要A通过ftp命令行脚本的方式和一台ftp服务器打交道.通过如下shell脚本即可以实现免交互登陆ftp,进行ftp操作.…
方法一: echo "open 21.244.88.129 user glxtftp glbzuser bin prompt off cd /glxt/DBINFO lcd /tmp put $dblog bye" |ftp -n >/dev/null 2>&1 方法二: ftp -ivn <<KATE open $1 user $2 $3 cd $4 binary lcd $5 passiv put $6 bye KATE…
把要更新的app放到/home/data下面 安卓: cat upload_apk.sh #!/bin/bashUser=xxxxx@qq.comPass=xxxxxxqrsctl-v3.1.20161125 login ${User} ${Pass}qrsctl-v3.1.20161125 put -c s-----l $1 "/home/data/"$1ansible app -S -R root -m shell -a "sed -ri "s/app-.*.a…
#!/bin/bash FTP_IP=127.0.0.1 FTP_USER="aaa" FTP_PSW="bbb" GAME_NAME="ccc" cd /data/ftp_dir tar zcvf action.tar.gz logs/* VAR_FULL_MD5=`md5sum action.tar.gz|cut -d ' ' -f1` VAR_MD5=${VAR_FULL_MD5:12:8} YESTERDAY_STRING=`date '…
http协议本身的原始方法不支持multipart/form-data请求,这个请求由原始方法演变而来的. multipart/form-data的基础方法是post,也就是说是由post方法来组合实现的,与post方法的不同之处:请求头,请求体. multipart/form-data的请求头必须包含一个特殊的头信息:Content-Type,且其值也必须规定为multipart/form-data,同时还需要规定一个内容分割符用于分割请求体中的多个post的内容,如文件内容和文本内容自然需要…
最好的方法:调js 其他方法: Python pywin32库,识别对话框句柄,进而操作 SendKeys库 autoIT,借助外力,我们去调用其生成的au3或exe文件. keybd_event,跟第一种类似,不过是模拟按键,ctrl+a,ctrl+c, ctrl+v… 目前只知道以上四种办法,有其他方法的请留言,欢迎拍砖和讨论.  …