软件测试(网页,脚本)入门
网页脚本入门
- Abstract
- 实例
- 准备知识
- 完整流程
- Conclusion
Abstract
- 获取网页某个元素
- 输入内容
- 鼠标点击
- 键盘某个键输入
- 其它
实例
- 打开网站,并且输入账号密码,点击登录
- 点击精选,进入搜索界面,搜索火焰杯测试商品,点击搜索的结果
- 点击加入购物车(两次)
准备知识
- 启动 selenium
下载安装相应的库(selenium),然后把浏览器的webdriver下载好放到python的目录下
启动代码
from selenium import webdriver
driver = webdriver.Chrome()#可以换成自己喜欢的浏览器
- 打开网站
driver.get("http://litemall.hogwarts.ceshiren.com/vue/index.html#/login")
获取某个元素
可以通过id、name、xpath等获取元素,如下图
获取元素的路径
打开页面,打开开发者模式(F12),选择元素,右键,copy,选择你要copy的选项
获取账号、密码输入框,并且填入
user_name = "name"
password = “password"
driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div[1]/div[1]/input").send_keys(user_name)# 这里填入的是元素的xpath路径
driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div[2]/div[1]/input").send_keys(password)
- 点击登录按钮
driver.find_element_by_xpath("//*[@id='app']/div[2]/div[2]/button").click()
- 页面更新后最好等待一段时间,不然获取不到正确的元素
time.sleep(1)#等待1s
- 输入中文,并回车搜索
需要设置编码格式
s1 = unicode("火焰杯测试商品", 'utf-8')
driver.find_element_by_xpath("/html/body/div/div[2]/form/div/div/div/div[2]/div/input").send_keys(s1)
driver.find_element_by_xpath("/html/body/div/div[2]/form/div/div/div/div[2]/div/input").send_keys(Keys.ENTER)
完整流程
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keysdef solve():driver = webdriver.Chrome()driver.get("http://litemall.hogwarts.ceshiren.com/vue/index.html#/login")user_name = "user123"password = "user123"driver.find_element_by_driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div[1]/div[1]/input").send_keys(user_name)driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div[2]/div[1]/input").send_keys(password)driver.find_element_by_xpath("//*[@id='app']/div[2]/div[2]/button").click()time.sleep(1)# driver.switch_to.frame("right")#切换窗口driver.find_element_by_xpath("/html/body/div/div[3]/div[1]").click()time.sleep(1)s1 = unicode("火焰杯测试商品", 'utf-8')driver.find_element_by_xpath("/html/body/div/div[2]/div[1]/div[1]/div/div/div[2]/div/input").click()time.sleep(1)driver.find_element_by_xpath("/html/body/div/div[2]/form/div/div/div/div[2]/div/input").send_keys(s1)driver.find_element_by_xpath("/html/body/div/div[2]/form/div/div/div/div[2]/div/input").send_keys(Keys.ENTER)time.sleep(1)driver.find_element_by_xpath("/html/body/div/div[2]/div[2]").click()time.sleep(1)driver.find_element_by_xpath("/html/body/div/div[2]/div[5]/button[1]").click()time.sleep(1)driver.find_element_by_xpath("/html/body/div/div[2]/div[3]/div[3]/div[3]/button[1]").click()time.sleep(10)# element.close()if __name__ == '__main__':solve()
Conclusion
- 页面元素改变(更新,新页面)需要等待一段时间,才能获取到新页面的元素
- 填入中文时需要设置编码格式
- 获取元素路径,在开发者模式下,右键需要定位的元素,然后复制所需要复制的内容
软件测试(网页,脚本)入门相关推荐
- 软件测试2小时入门-曹红杏-专题视频课程
软件测试2小时入门 课程介绍 本课程内容系统.全面.简洁.通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础. 主要内容分为5个部分: 1 ...
- 从网页搭建入门python web_从网页搭建入门JavaWeb
实战 Vue.js 源码全方位深入解析 Python 爬虫工程师必学--App数据抓取实战 Spring Cloud微服务实战 Vue2.5开发去哪儿网App 从零基础入门到实战项目 FFmpeg音视 ...
- 视频教程-软件测试2小时入门-软件测试
软件测试2小时入门 课程讲师有中科院硕士学位,从事软件测试十余年,有丰富的测试实践经验和理论基础. 曹红杏 ¥12.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 AP ...
- 用python写脚本看什么书-终于知晓python编写脚本入门教程
PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成.PyQt5本身拥有超过620个类和6000函数及方法.在可以运行于多个平台.PyQt5拥有双重协议 ...
- Linux Shell脚本入门--wget 命令用法详解
Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...
- Linux之Shell脚本入门
一.Shell概述 Shell是一个命令行解释器,它接受应用程序/用户命令,然后调用操作系统内核. Shell还是一个功能强大的编程语言,易编写.易调试.灵活性强. 二.Shell脚本入门 1.脚本格 ...
- 《HTML5+CSS3网页设计入门必读》——1.7 使用FTP传输文件
本节书摘来自异步社区<HTML5+CSS3网页设计入门必读>一书中的第1章,第1.7节,作者: [美]Julie Meloni更多章节内容可以访问云栖社区"异步社区"公 ...
- 《HTML5+CSS3网页设计入门必读》——2.8 转变(CH-CH变化)
本节书摘来自异步社区<HTML5+CSS3网页设计入门必读>一书中的第2章,第2.8节,作者: [英]Jeremy Keith , [美]Dan Cederholm 更多章节内容可以访问云 ...
- Linux Shell脚本入门教程系列之(十六) Shell输入输出重定向
本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...
- Linux Shell脚本入门教程系列之(十五) Shell函数简介
本文是Linux Shell脚本系列教程的第(十五)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 上一篇之后,函数可以将一个复杂功能划分成若干模块,从而使程序结构更加清晰 ...
最新文章
- 量子领域、人工智能都是佼佼者,中国科技实力详解
- 【Android 逆向】ELF 文件格式总结 ★★★
- 金泰联限量稳定虚拟主机赞助计划
- cv2.bitwise_not(主要讲这个)
- NLP太难学了!?吃透NLP的方法来拿走
- db2与mysql编目_DB2编目、联邦数据库 - Goopand's OS Space - OSCHINA - 中文开源技术交流社区...
- crazyradio焊接和下载固件过程
- Struts2入门这一篇就够了 1
- poi报表导出4.1.0版本工具类 导出并下载
- 勒索病毒记录:将电脑 后缀改为.nedjprf
- mvn dependency命令
- You have tried to change the API from what has been previously approved
- 没错,支付也有个七层模型
- win 7更改计算机用户名和密码错误,win7系统一开机就显示用户名和密码错误故障的解决方法...
- project各版本网盘免费下载
- idea 代码格式化快捷方式
- vue-scroller回到顶部
- python输出输入法_python 怎么转化输入法
- 运用京东云代码托管、云编译、云部署等产品进行蓝绿部署简单实践
- 因执迷而绽放,终登聆听贡献者荣誉榜
热门文章
- 易语言如何调用c dll文件,易语言调用C++写的DLL
- HTML5 自动聚焦 autofocus 属性
- mysql 1264_关于MySQL的1264错误处理及sql_mode设置
- Python数据分析-绘图-3-Bokeh交互式绘图-1-基本构成与语法
- 笔记 | 产品经理必懂的技术(五)
- 泰坦尼克号 机器学习_机器学习项目泰坦尼克号问题陈述
- 镜像搬运工 skopeo
- XML常见的两种解析方式总结
- Bootstrap5 弹出框
- oracle blob 照片,要在oracle里面存入图片 用 blob类型