前面已经介绍了Python+Selenium基础篇,通过前面几篇文章的介绍和练习,Selenium+Python的webUI自动化测试算是入门了。接下来,我计划写第二个系列:练习篇,通过一些练习,了解和掌握一些Selenium常用的接口或者方法。 练习场景:在某一个网页上有些字段是我们感兴趣的,我们希望摘取出来,进行其他操作。但是这些字段可能在一个网页的不同地方。例如,我们需要在关于百度页面-联系我们,摘取全部的邮箱。 思路拆分: 1....
在前面一篇文章,我们介绍了如何摘取页面字段,通过正则进行匹配符合要求的字段。如果感觉有点困难,不能立马理解,没有关系。把字符串摘取放到第一篇,是因为自动化测试脚本,经常要利用字符串操作,字符串切割,查找,匹配等手段,得到新的字符串或字符串数组,然后根据新得到的字符串进行判断用例是否通过。 本篇介绍如何通过元素节点信息ID来定位该元素,使用id来定位元素虽然效率要高于XPath,但是实际测试测项目,能直...
前一篇文章介绍了如何通过元素的id值来定位web元素,本文介绍如何通过tag name来定位元素。个人认为,通过tag name来定位还是有很大缺陷,定位不够精确。主要是tag name有很多重复的,造成了选择tag name来定位页面元素不准确,所以使用这个方法定位web元素的机会很少。 什么是tag name? 还是以百度首页搜索输入框,在火狐浏览器,右键,通过firepath,检查元素,看下图: 上面图片中红色圈选区域的标签名称都是tag ...
class Cat:def __init__(self,name=None,age=None,color=None):self.__name=nameself.__age=ageself.__color=colordef setName(self,name):self.__name=namedef setAge(self,age):if age<0:print("年龄不合法")self.__age=0else:self.__age = agedef setColor(self,color):self.__color=color# def setvalue(self,name,age,color):# self.__name=name# self.__age=age# self.__color=colordef getName(self):return se...
#!/usr/bin/env python3# -*- coding: utf-8 -*-"""练习二十:判断一个年份是否是闰年公历闰年计算方法:1、普通年能被4整除且不能被100整除的为闰年。(如2004年就是闰年,1900年不是闰年)2、世纪年能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)3、对于数值很大的年份,这年如果能整除3200,并且能整除172800则是闰年。"""def judge(year): if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0) or (year % ...
import threadingimport queue # python中的队列类,默认是FIFO,而且是线程安全的 自带锁 1.定义好的问题和答案的词汇表,key为问题,value为答案 qa = {你好 : 你好, 我爱你 : 我也爱你,猪猪:猪是一种动物,猪猪侠:猪猪侠是一部动画片} questionqueue = queue.Queue(1) # 问题队列, queue.LifoQueue() # 也支持后进先出 condition = threading.Condition() 2.定义答题机器人线程 class robotthread(threading.Thread):def ini...
代码: ## 定义界面列表 stu_interface=['学生管理系统','1.管理员登录','2.学生登录'] admin_login=['管理员操作界面','1.管理员密码修改','2.添加学生的信息','3.删除学生的信息','4.修改学生的信息','5.查询学生的信息','6.列出学生的信息','7.退出系统'] stu_login=['学生操作界面','1.查询个人信息','2.修改信息'] stu_chInfo=['修改个人信息','1.修改年龄','2.修改密码'] flag=0 ## 标志位,用于确定当前界面位置 info_ad...
题目1:罗马数字转换 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M字符 数值I 1V 5X 10L 50C 100D 500M 1000例如,罗马数字2写做 II,即为两个并排放置的的 1,12写做XII,即为 X + II ,27写做XXVII,即为XX+V+II在罗马数字中,小的数字在大的数字的右边。但 4 不写作 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大...
1. 【问题描述】 输入某年某月某日,判断这一天是这一年的第几天?程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天。特殊情况:闰年且输入月份大于3时需考虑多加一天。 提示:(1) 闰年的2月有29天,平年的2月有28天; (2) 如果年份满足以下两个条件之一,则该年就是闰年。 i) 年份能被4整除且不能被100整除 ii) 年份能被400整除 【输入形式】 输入一行...
1. 100个例子 expamle1: 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 我的代码:num={1,2,3,4} for i in num:bnum=list(num)bnum.remove(i)for b in bnum:cnum=list(bnum)cnum.remove(b)for c in cnum:print i,b,c官方代码:for i in range(1,5):for j in range(1,5):for k in range(1,5):if( i != k ) and (i != j) and (j != k):print i,j,k总结: 可以使用range与判断 expamle2:企业发放...
Python练习题目1:用Python实现队列(先入先出) 入队 出队 队头 队尾 队列是否为空 显示队列元素代码: list=[] ##定义空列表用于存储数据 tip = """ ******队列****** 1.入队 2.出队 3.队头 4.队尾 5.队列是否为空 6.显示队列元素 (输入q退出) """ ##定义登入界面 while 1: print(tip) ##打印登入界面 choice = input('') ##输入变量存储 if choice == '1': ##如果输...
题目1:给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前>后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”输入描述: 输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符) 输出描述: 对于每个测试示例,要求输出句子中单词反转后形成的句子例: 输入hello xiao mi 输出mi xiao hello‘代码一:测试结果:代码二:需求中要求到多行输入,重...
练习一 1,执行Python脚本的两种方式 a,Python解释器 b,Python 1.py 2,简述位和字节的关系 一个字节等于8位 3,简述ascii,unicode,utf-8,gbk的关系 最开始ascii,表示信息有限。后来发明unicode给全球的字符编码,再后来为了节约信息位采用了压缩形式utf-8,gbk是使用两个字节的汉字专用编码 4,请写出“李杰”分别用utf-8和gbk编码所占的位数 utf-8:6字节 gbk:4字节 a = "李杰" Python3 len(a) = 2 使用fo...
1、列表的增删改查增加:有三种添加方式(append、insert、extend)#append:把添加的内容直接添加到列表的末尾 a=[1,2,3] a.append(abc) print(a) #结果:[1, 2, 3, abc]#insert:可以根据下标来选择添加的位置 b=[a,c,] b.insert(1,b) print(b) #结果:[a, b, c]#extend:可以把两个列表合在一起 a.extend(b) print(a) #结果:[1, 2, 3, abc, a, b, c] 修改:names[下表]=new值a=[1,b,3] a[1]=2 print(a) #结果:[1, 2, 3] 删除...
基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里) lock_file = open("lock.txt", "r", encoding="utf-8")if lock_file.read() == "locked": print("由于用户名或密码输入错误达到3次,您的账号已锁定,请联系系统管理员。...