Pycharm selenium webdriver自动化禅道测试

本期内容

禅道建立新用户
参考技术点,定位技术 断言技术 获取标题技术
• 下拉,select option,滚动js
• 操作下拉选择框-Select:Select(driver.find_element_by_id(“role”)).select_by_visible_text("测试")
• 滚动条:driver.execute_script("window.scrollBy(300,3000)")

如果忘了 怎么配置环境 可以看第一期文章 来回忆下
链接: Python Selenium WebDriver 环境搭建 测试bing篇
这里也有博主写的八大定位和常识
链接: 自动化测试Selenium webdriver八大定位 和基本常识

1.我们要先登录禅道 在里面添加用户
下载禅道后 会给你一个管理员账号 自行填写即可
2.尝试登录禅道

import time

from selenium import webdriver
from selenium.webdriver.common.by import By

# #设置chrome的选项值
chrome_options = webdriver.ChromeOptions()
# #选项中添加扩展选项 :扩展切换,允许激活 自动化。
chrome_options.add_experimental_option("excludeSwitches", ['enable-automation'])
# #将选项配置options在打开浏览器时加载进去
driver = webdriver.Chrome("E:\selenium_project\driver\chromedriver.exe",options=chrome_options)

# driver = webdriver.Chrome("E:\selenium_project\driver\chromedriver.exe")
# 进入zentao
driver.get("http://114.116.97.187:1080/zentao/user-login.html")
#用class方式定位
# 登录名
# driver.find_element(By.NAME,"accout").send_keys("admin")
driver.find_element(By.CLASS_NAME, "form-control").send_keys("登录名")
# 密码
driver.find_elements(By.CLASS_NAME, "form-control")[1].send_keys("密码")
time.sleep(1)
#元素截图 定位的是哪个元素  就截取那里
ele = driver.find_element(By.NAME,"account")
ele.screenshot("username.png")
#•  判断信息:判断用户名文本框是否可见。is_displayed()
assert ele.is_displayed() is True
assert ele.is_enabled() is True
#•	获得信息:获得用户名文本框的属性class的值,
print(ele.get_attribute("class"))
print(ele.get_attribute("type"))

# 登录
driver.find_element(By.ID, "submit").click()
time.sleep(1)
#获取href 超链接值
a_eles=driver.find_elements(By.TAG_NAME,"a")
for ele in a_eles:
    print(ele.get_attribute("href"))
# 定位 验证 断言
time.sleep(1)
print(driver.title)
assert driver.title == "我的地盘 - 禅道"
print(driver.current_url)
assert "http://114.116.97.187:1080/zentao/my/" == driver.current_url
assert "添加你要验证的元素" in driver.find_element(By.LINK_TEXT, "添加你要验证的元素").text
print("--------------------------------------------------------------------")

# 退出
# driver.find_element(By.LINK_TEXT,"退出").click()

在这里插入图片描述

显然已经登录成功啦
3.接下来 试一试 登录进去 并且添加用户 保存用户 查看用户是否添加成功

# 注册
driver.find_element(By.LINK_TEXT, "组织").click()
# 注册部门
driver.find_element(By.LINK_TEXT, "部门").click()
#创建部门
time.sleep(1)
driver.find_element(By.NAME, "depts[]").send_keys("xxx")
#设置滚动条
driver.execute_script("window.scrollBy(300,3000)")
time.sleep(1)
#保存部门
driver.find_element(By.ID, "submit").click()
time.sleep(1)
#添加用户
driver.find_element(By.LINK_TEXT, "添加用户").click()
time.sleep(1)
# 选择部门
driver.find_element(By.ID,"dept_chosen").click()
time.sleep(1)
driver.find_element_by_xpath("//*[@id='dept_chosen']/div/ul/li[2]").click()
# 用户名
driver.find_element(By.NAME, "account").send_keys("ChanDao")
# 真实姓名
driver.find_element(By.NAME, "realname").send_keys("ChanDao")
#设置滚动条
driver.execute_script("window.scrollBy(300,3000)")
time.sleep(1)
# 密码
driver.find_element(By.ID, "password1").send_keys("123456.")
# 重新输入密码
driver.find_element(By.ID, "password2").send_keys("123456.")
#入职时间
#
driver.find_element(By.ID,"join").clear()
driver.find_element(By.ID,"join").send_keys("2022-07-07",Keys.ENTER)
time.sleep(1)
# 职位
#第一种Select(driver.find_element_by_id("role")).select_by_visible_text("高层管理")
#第二种
role = driver.find_element(By.ID,"role")

#测试下1是不是option--研发
Select(role).select_by_index(1)
time.sleep(1)

#邮箱
driver.find_element(By.ID,"email").send_keys("xxx@qq.com")
#性别
driver.find_element(By.ID,"genderf").click()
#输入密码验证
driver.find_element(By.ID,"verifyPassword").send_keys("1.2.3.4.5.6.")
#设置滚动条
driver.execute_script("window.scrollBy(300,3000)")
time.sleep(1)
#保存用户
driver.find_element(By.ID, "submit").click()
driver.save_screenshot("User.png")
#查看用户是否创建成功
time.sleep(1)
driver.find_element(By.LINK_TEXT, "用户").click()
driver.save_screenshot("User1.png")
# 断言,怎么加
# 验证http://114.116.97.187:1080/zentao/company-browse.html
# 根据公司选择断言准确度。
# 添加用户名,在页面中就行。

time.sleep(5)
print(driver.current_url)
assert driver.current_url == "http://114.116.97.187:1080/zentao/company-browse.html"

查看一下效果
在这里插入图片描述
这里就是自动化填写成功啦
在这里插入图片描述
这里可以看到 保存成功
设置滚动条的目的是 选择保存的时候 发现保存再页面下方 页面并没有出现保存按钮 需要设置滚动条来进行下拉

总体来说 难点就是
1.下拉列表 以及下拉框的选择
2.八大定位以及断言(因公司而异)
大家多多练习

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ZenTaoATF是由禅道开发团队开发的自动化测试框架,它只有一个脚本文件,可以支持各种脚本语言编写的自动化测试脚本,语法简单,使用灵活,后续会和禅道项目管理软件进行绑定和集成。 它的基本工作原理如下: 首先,你需要写一个测试脚本来实现你正常的测试逻辑。现在支持php, python, ruby, lua, tcl, bash。 这个测试脚本里面按照自己所测程序的业务逻辑编写,比如链接数据库,查询某一个记录等等。 然后通过注释的方式为这个测试脚本写上基本的用例信息:标题,步骤和预期结果,采用的是yaml语法格式。 << title: helloworld. expect: helloworld. TC 然后执行zt脚本,zt脚本会扫描当前目录下面的带有用例标志的脚本,然后调用执行,得出每个脚本的实际输出,然后和用例里面事先记录好的预期结果进行比对,如果相匹配,则成功,如果失败,则计算diff信息。 相比较于其他的自动化测试框架或者单元测试框架来将,ZenTaoATF的主要特点如下: 1. 简单 1.1 程序简单 整个自动化测试框架只有一个zt文件,使用php开发,安装和运行都非常的方便。 1.2 语法简单 ZenTaoATF的语法只有简单的标题,步骤,预期结果,采用yaml格式,撰写比较方便,可读性也很好。 2. 跨语言 ZenTaoATF框架本身是使用PHP开发的,但它支持各种各样的脚本语言,比如python, ruby, lua, tcl, bash, bat等。 3. 跨平台 ZenTaoATF可以运行在各个平台下面。(现在暂时只支持linux,windows1.1版本加入) 4. 和禅道项目管理软件集成后续版本我们会和禅道开源项目管理软件进行集成和绑定,脚本和用例可以做到有机的结合。 下载地址:https://github.com/easysoft/zentaoatf/archive/zentaoatf.1.0.20130318.zip 项目地址:https://github.com/easysoft/zentaoatf/如何安装:1. 现在zentaoatf暂时只支持linux和bsd系统,请先安装好php的运行环境。 2. 下载zentaoatf包,将其解压缩到一个目录。 3. 解压缩之后,有一个zt的php脚本。使用命令chmod a rx zt 给它增加可执行权限。 4. 为了后面方便使用,可以考虑将zt这个脚本拷贝到/usr/local/bin目录下面。如何运行:  1. 下载zentaoatf包之后,里面有两个目录,一个是基本的语法,一个是各种脚本语言的格式。 2. 可以在这个目录下面执行执行 zt,就可以运行自动化测试脚本。执行的效果如下: 标签:ZenTaoATF  自动化测试
大家好,禅道自动化测试框架1.2版本发布了。该版本增加了多语言的支持、windows下面增加了ruby, lua, perl, python等常见脚本的支持,并调整了临时目录的位置和日志的格式。 一、关于ZenTaoATF框架 禅道自动化测试框架是由禅道开发团队推出的一款自动化测试框架,只有一个文件,使用简单,灵活,可以适用于命令行、接口和B/S结构应用的自动化测试。将来会和禅道项目管理软件做深度的集成。    请参考:http://www.zentao.net/article-view-79773.html 二、此次版本改动记录  2.1 增加了多语言的支持 当首次执行的时候,zt脚本会提示你选择喜欢的语言,如果是中文的话,还可以选择适用的编码。当选好之后,后面的语言提示就使用中文了。   2.2 windows下面增加了对perl, lua, ruby, tcl等常见脚本的支持 在windows下面执行的时候,如果检测到没有设置解释程序的脚本的时候,会提示你来设置该种脚本的解释程序。 2.3 windows下面调整了临时目录和日志文件的格式 windows下面临时目录放在zt脚本所在的目录下面,并且日志格式保存的时候也存成了dos格式,方便阅读。 三、下载地址 3.1 源码包 http://sourceforge.net/projects/zentaoatf/files/1.2/ZenTaoATF.1.2.zip/download 3.2 windows环境  http://sourceforge.net/projects/zentaoatf/files/1.2/ZenTaoATF.1.2.win.zip/download 源码包需要您的机器上自己安装php命令行的执行环境。windows环境内置了一个php可执行文件,解压缩到一个不含空格的目录,直接执行zt.bat即可查看效果。 四、下个版本的计划 4.1 完善atf的命令行参数。 4.2 完善atf随机的帮助文档。 4.3 和禅道软件进行绑定和集成。 4.4 实现测试步骤的自动提取功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值