测试必须在时间、质量和成本之间获取一个平衡点,这是测试策略和测试设计的价值体现。
2.16 文件上传(send_keys)
上一篇 /
下一篇 2018-06-12 10:51:52
/ 个人分类:Python+Selenium2 WebDriver API
2.16 文件上传(send_keys)
lpM,sB@&E ~0前言
9|;mm1yF,M4g.[5W0文件上传是web页面上很常见的一个功能,用脚本去实现文件上传却不是那么简单。51Testing软件测试网|a$K#f/F8Ee
一般分两个场景:一种是input标签,这种可以用selenium提供的send_keys()方法轻松解决;
]{,dD
jz0另外一种非input标签实现起来比较困难,可以借助autoit工具或者SendKeys第三方库。51Testing软件测试网(v"yc.`%BxL
本篇以博客园的上传图片为案例,通过send_keys()方法解决文件上传问题51Testing软件测试网0HH.VCcu0]
一、识别上传按钮51Testing软件测试网X|6p0I"aI1dbr
1.点开博客园编辑器里的图片上传按钮,弹出”上传本地图片”框。
*kj [1sL n+[b02.用firebug查看按钮属性,这种上传图片按钮有个很明显的标识,它是一个input标签,并且type属性的值为file。只要找到这两个标识,我们就可以直接用send_keys()方法上传文件了。51Testing软件测试网'~:L6E:|0dD
51Testing软件测试网?,q)c!R,QW4R8@bx8s51Testing软件测试网+[8ZMrLl3a8Ue/D
@+z#m ww&`0 51Testing软件测试网|%C@.u:@Iu @p
4I`/k
l$_H3A#E~v"a2{0 51Testing软件测试网o%Mh|"~@rs1^
51Testing软件测试网uP%s&U9l!B二、定位iframe
V9\4W%A[9Z01.这里定位图片上传按钮情况有点复杂,首先它是在iframe上。51Testing软件测试网-|yT.C4I
2.这个iframe的id是动态的,且没有name属性,其它属性也不是很明显。
+V;e^Q0U03.通过搜索发现,这个页面上有两个iframe,需要定位的这个iframe是处于第二个位置。51Testing软件测试网Gf({;o
U"JI;uo
J7n&T5hKX
H0
y-B1{8n [Xa6@8K051Testing软件测试网s1m-P/j;z+R