selenium之 autoit命令行参数
更多关于python selenium的文章,请关注我的专栏:Python Selenium自动化测试详解
selenium对网页进行UI自动化时经常会遇到OS弹框,比如上传、下载框,对这种弹框,selenium无法处理,常常我们会选择autoit这个工具。
想要参数化传入的参数,可以通过autoit的命令行参数:
myProg.exe param1 “This is a string parameter” 99
在脚本中,可用以下变量获取命令行参数:
$CmdLine[0] ; = 3
$CmdLine[1] ; = param1
$CmdLine[2] ; = "This is a string parameter"
$CmdLine[3] ; = 99
$CmdLineRaw ; = 'param1 "This is a string parameter" 99'
$CmdLine[0] 获取的是命令行参数的总数,在上例中$CmdLine[0]=3
$CmdLine[1]~$CmdLine[63] 获取的是命令行参数第1到第63位,这个方式最多只能获取63个参数,不过正常情况下是足够用的
$CmdLineRaw 获取的是未拆分的所有参数,是一个长字符串,这种情况下不局限与63个参数
下面我们小小实践一下:
示例网址:http://www.sahitest.com/demo/php/fileUpload.htm
通过autoit的获取对象并编辑脚本:
ControlFocus("文件上传", "", "Edit1")
WinWait("[CLASS:#32770]", "", 10)
ControlSetText("文件上传" ,"", "Edit1", $CmdLine[1])
Sleep(2000)
ControlClick("文件上传", "","Button1");
通过Aut2Exe工具将脚本转成exe文件(upfile.exe)
我们先通过命令行试试,打开网页上传弹框,然后在cmd中执行该脚本:
D:\upfile.exe "D:\1.html"
成功!
接下来就是用Python用os模块来调用该文件了:
# -*- coding: utf-8 -*-
from selenium import webdriver
import os
import timedriver = webdriver.Firefox()
driver.get('http://www.sahitest.com/demo/php/fileUpload.htm')
driver.find_element_by_id('file').click()
time.sleep(1)os.system('D:\\upfile.exe "D:\\1.html"') # 这里可以对传参进行参数化,我们可以通过py脚本来控制所要上传的文件了time.sleep(3)
driver.quit()
执行,成功!
当然,这里只是个示例,实际上对于这种input标签,我们直接send_keys就可以了。今后再专门讨论上传的处理。
selenium之 autoit命令行参数相关推荐
- python编写命令行框架_python的pytest框架之命令行参数详解(上)
前言 pytest是一款强大的python自动化测试工具,可以胜任各种类型或者级别的软件测试工作.pytest提供了丰富的功能,包括assert重写,第三方插件,以及其他测试工具无法比拟的fixtur ...
- 第三:Pytest框架之命令行参数(一)
一.编写第一个测试函数(用例) 1 from selenium import webdriver2 3 def testOpenUrl():4 try:5 driver = webdriver.Fir ...
- Chrome和Firefox的命令行参数
使用Selenium由于是基于浏览器的操作,所以了解浏览器的命令行参数( Command line switches)非常重要,例如:在使用Selenium的时候,设置Chrome的调试端口.用户数据 ...
- Go 学习笔记(45)— Go 标准库之 flag(命令行参数解析)
1. 参数解析说明 import "flag" flag 包实现了命令行参数的解析.每个参数认为一条记录,根据实际进行定义,到一个 set 集合.每条都有各自的状态参数. 使用 f ...
- INNO SETUP 获得命令行参数
INNO SETUP 获得命令行参数 原文 http://www.cnblogs.com/ahuo/archive/2009/07/30/1534998.html [Code] function Ge ...
- Windows安装用于OCR的Tesseract及使用命令行参数进行OCR
Windows安装用于OCR的Tesseract及使用命令行参数进行OCR 1. 效果图 2. Tesseract 安装及验证 参考 这篇博客将介绍如何安装和使用光学字符识别(OCR Optical ...
- Python必备基本技能——命令行参数args详解
Python必备基本技能--命令行参数args详解 1. 效果图 2. 源码 2.1 简单命令行参数 2.1 轮廓检测源代码 参考 这篇博客将介绍一项开发人员.工程师和计算机科学家必备的技能--命令行 ...
- 【C++】clipp 一个命令行参数解析器
1.简介 clipp是一个使用方便.功能强大的命令行解析器,源码只有一个头文件<clipp.h> github地址:https://github.com/muellan/clipp 2.使 ...
- 【Qt】通过QtCreator源码学习Qt(六):命令行参数解析实现
参考下大神的命令行参数解析是如何是实现的 //使用const char []代替宏定义字符串,我以前都是用const QString,想想好傻 const char SETTINGS_OPTION[] ...
最新文章
- Binary XML file line #39: 最多只支持3个子View,Most only support three sub vi
- c++ gdb 绑定源码_【Vue原理】VNode 源码版
- python使用matplotlib可视化subplots子图、subplots绘制子图、子图之间有重叠问题、使用subplots_adjust函数合理设置子图之间的水平和垂直距离
- 怎么进入python官网-Python的安装及简单的使用
- 【小白学PyTorch】15.TF2实现一个简单的服装分类任务
- java string args_java – 语法“final String … args”是什么意思/做什么?
- as_hash ruby_Ruby中带有示例的Hash.delete_if方法
- Asp.NetWebForm的控件属性
- BootStrap Table和Mybatis Plus实现服务端分页
- python定时重启程序
- 酒店计算机管理系统维护合同,酒店计算机管理系统维护合同协议书范本.pdf
- java 切图 软件_Java 切图
- (WSI分类)WSI分类文献小综述
- 共识,权威以及去中心化的区块链
- Apache 支持ipv6 安装及常见问题
- 源码编译安装git过程记录
- 数据库原理与应用 构建音乐商店,实现复杂查询和批量操作及视图练习
- python连接SQL Server:Pymssql模块
- ueditor编辑器 字数统计 不算空格 以及 过滤粘贴板格式
- 南大通用GBase8s 常用SQL语句(124)
热门文章
- Sofia2.0项目功能问题集
- 基于Unity的多人协作游戏开发
- inout的具体使用方法
- Windows常用DOS(cmd)目录命令
- 一键申报税务,就找小帮软件机器人...一键申报
- 逻辑卷、物理卷、卷组 的关系
- 图片翻译软件哪个好?这些图片英文翻译器建议收藏
- EasyExcel实现excel区域三级联动
- 外星人台式机无盘服务器,【图片】外星人台式机更换第三方主板安装Alienware Command Center教程【alienware吧】_百度贴吧...
- 2022-7-6 Leetcode 977.有序数组的平方