利用Selenium实现图片文件上传的两种方式

发表于:2016-3-21 11:04

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:张真真    来源:51Testing软件测试网采编

  在实现UI自动化测试过程中,有一类需求是实现图片上传,这种需求根据开发的实现方式,UI的实现方式也会不同。
  一、直接利用Selenium实现
  这种方式是最简单的一种实现方式,但是依赖于开发的实现。
  当开发直接使用file类型的input实现图片文件的上传时,实例:<input type="file" name=''filename">
  我们可以直接利用Selenium提供的方法实现文件上传,但是因为依赖开发的实现,而且目前实现基本都会利用框架,所以这种实现方式有很大的局限性。
  首先找到元素:WebElement  file = driver.findElement(By.name("filename"));
  给此元素设置值:file.sendKeys("E:\testfile.jpg");
  二、利用AutoIT工具实现
  目前,一般实现文件图片上传的方式都是有一个按钮,点击之后直接调用操作系统自身的弹框,选择文件后,实现上传。因为Selenium不支持调用操作系统的操作,所以这种情况下,利用Selenium无法完成图片上传,这时,我们可以选择借用其他工具实现。
  1、AutoIT介绍
  AutoIT是一个类似脚本语言的软件,利用此软件我们可以方便的实现模拟键盘、鼠标、窗口等操作,实现自动化。
  2、实现原理
  利用AutoIT编写合适的脚本,然后将脚本编译成可执行文件,在自动化实现时,直接调用此脚本实现文件上传。
  备注:编写脚本和编译,需要借助AutoIT提供的工具,但是脚本编译成可执行文件后,可以直接使用,不再需要安装AutoIT。
  3、自动化调用
  AutoIT脚本编译成可执行文件后,放到本地的某一个目录下
  自动化实现过程中,需要上传图片时,首先定位到【上传】字样文本,点击此按钮
  执行编辑后的可执行文件,实现文件上传
  实例:
  假如,要上传图片的页面及html显示如下:
  利用AutoIT编写的脚本编译后的可执行文件的存放目录:E:\upfile.exe
  自动化实现代码:
  4、AutoIT安装
  下载并安装AutoIT,下载链接:https://www.autoitscript.com/site/autoit/
  AutoIT安装成功后,可以在开始菜单下看到AutoIT的所有工具,如下图所示:
  其中分为几类,AutoIT Window Info用来识别Windows控件,根据识别的控件信息编写脚本;Complie Script to .exe,用来将利用AutoIt编写的脚本,编译成可执行文件;Run Script 用来执行AutoIT的脚本信息;SciTE Script Editor用来编写AutoIt脚本。
  接下来就是利用以上四种工具,来编写AutoIT脚本,然后编译成可执行文件
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号