当前位置: 首页 > news >正文

做国际黄金的网站vs做网站头部的代码

做国际黄金的网站,vs做网站头部的代码,网站的衡量标准,站长之家收录查询本文是基于Pytest框架#xff0c;读取excel中的文件#xff0c;传入页面表单中#xff0c;并做相应的断言实现。 1、编辑媒体需求 首先明确一下需求#xff0c;我们需要对媒体的表单数据进行编辑#xff0c;步骤如下#xff1a; 具体表单如下图所示 1、登录 2、点击我…本文是基于Pytest框架读取excel中的文件传入页面表单中并做相应的断言实现。 1、编辑媒体需求 首先明确一下需求我们需要对媒体的表单数据进行编辑步骤如下 具体表单如下图所示 1、登录 2、点击我的媒体 3、点击媒体 4、点击编辑媒体 5、设置标题 6、设置媒体标题分类 7、设置标签001 8、设置产生日期 9、上传图片 10、描述 11、状态 12、启动评论 13、缩略图时刻 14、允许下载 然后点击Update Media后就会跳转到这个媒体的界面上。可以查看提交的配置是否生效。 2、编辑媒体V1.0 第一版先定位到元素并手工实现。 2.1 登录 2.1.1  conftest.py配置 首先在conftest.py做好公共方法的配置工作也就是登录退出等一些常用的方法。 conftest.配置特点 conftest.py配置脚本名称是固定的不能改名称 conftest.py与运行的用例要在同一个package下并且有————init__.py文件 测试用例文件不需要import conftest.py就能自动找到配置好的pytest.fixture import timeimport pytest from selenium import webdriverpytest.fixture(scopesession) def driver():driverwebdriver.Firefox()driver.maximize_window()driver.implicitly_wait(10)yield drivertime.sleep(10) # 如果需要观察程序运行过程那么加时间等待代码调试弯沉后去掉时间等待。# driver.quit()pytest.fixture(scopesession) def login(driver):driver.get(https://svr-6-9010.share.51env.net/accounts/login/)# 3、输入用户名driver.find_element_by_id(id_login).send_keys(changcheng1211)# 4、输入密码driver.find_element_by_id(id_password).send_keys(changcheng1211)driver.find_element_by_id(id_captcha_1).send_keys(changcheng1211)# 5、点击登录driver.find_element_by_class_name(primaryAction).submit()yield driver介绍一下 Pytest Fixture 作用 为每个测试用例完成一些公共的前置或者后置工作 限制范围 scopefunction每个方法调用一次 scopeclass每个类调用一次 scopemodule每一个.py文件调用一次 scopesession多个.py文件只调用一次 用法 import pytest 打开浏览器  def driver(): 登录功能   def login(): 2.1.12 pytest之全局配置文件pytest.ini [pytest] addopts -s -v testpaths test_cases/test_update_media.py -s表示输出调试信息用于显示测试函数中print()打印的信息 -v未加前只打印模块名加v后打印类名、模块名、方法名显示更详细的信息 -q表示只显示整体测试结果 -vs这两个参数可以一起使用 -n支持多线程或者分布式运行测试用例前提需安装pytest-xdist插件 –html生成html的测试报告前提需安装pytest-html插件 如pytest -vs --html ./reports/result.html testpaths 是指定执行的路径的。 2.2  编辑媒体test_update_media.py 首先在测试的目录下新建一个测试文件test_update_media.pyD:\python\autoFuncTest2\test_cases\test_update_media.py from selenium.webdriver.support.select import Selectclass TestUpDateMedia:def test_update_meida(self,login):# 1、登录# 2、点击我的媒体login.find_element_by_partial_link_text(我的媒体).click()# 3、点击媒体login.find_element_by_class_name(item-thumb).click()# 4、点击编辑媒体login.find_element_by_link_text(编辑媒体).click()# 5、设置标题login.find_element_by_id(id_title).clear()login.find_element_by_id(id_title).send_keys(小猴子.MP4)# 6、设置媒体标题分类id_category login.find_element_by_id(id_category)# 如果用ctrl键可以多选用click方法不能多选。# Selenium给我们提供了一种方法 select_by_visible_text(Film) 可以多选select_category Select(id_category)select_category.select_by_visible_text(Film)select_category.select_by_index(0) # Artselect_category.select_by_value(2) # Documentary# 7、设置标签001id_new_tags login.find_element_by_id(id_new_tags)id_new_tags.clear()id_new_tags.send_keys(001)# 8、设置产生日期id_add_date login.find_element_by_id(id_add_date)id_add_date.clear()id_add_date.send_keys(2000/06/04 20:49)# 9、上传图片login.find_element_by_id(id_uploaded_poster).send_keys(D:\\niupeng2.png)# 10、描述id_description login.find_element_by_id(id_description)id_description.clear()id_description.send_keys(今天我们去动物园参观了小猴子)# 11、状态id_state login.find_element_by_id(id_state)Select(id_state).select_by_visible_text(私有)# 12、启动评论login.find_element_by_id(id_enable_comments).click()# 13、缩略图时刻id_thumbnail_time login.find_element_by_id(id_thumbnail_time)id_thumbnail_time.clear()id_thumbnail_time.send_keys(50)# 14、允许下载login.find_element_by_id(id_allow_download).click()# 15、点击Update Medialogin.find_element_by_class_name(primaryAction).submit() 下面介绍一下代码的实现 from selenium.webdriver.support.select import Selectclass TestUpDateMedia:def test_update_meida(self,login): 首先导入一个Select的包因为里面有用到下拉框选择。 新建一个class TestUpDateMedia  的类。 def test_update_meida(self,login): 并在里面声明一个‘test_update_meida’的方法它继承自conftest.py的login的类。这里是直接调用登录功能。 # 2、点击我的媒体login.find_element_by_partial_link_text(我的媒体).click()# 3、点击媒体login.find_element_by_class_name(item-thumb).click()# 4、点击编辑媒体login.find_element_by_link_text(编辑媒体).click() 先点我的媒体点击媒体再点击编辑媒体 # 5、设置标题login.find_element_by_id(id_title).clear()login.find_element_by_id(id_title).send_keys(小猴子.MP4) 设置标题前应先清空输入框 # 6、设置媒体标题分类id_category login.find_element_by_id(id_category)# 如果用ctrl键可以多选用click方法不能多选。# Selenium给我们提供了一种方法 select_by_visible_text(Film) 可以多选select_category Select(id_category)select_category.select_by_visible_text(Film)select_category.select_by_index(0) # Artselect_category.select_by_value(2) # Documentary 设置媒体的标题分类 这里涉及到下拉框的操作 下拉框操作     假设有一个元素使select标签这时需要选择其中一个/多个选项     这时就不是click或者sendKeys这样的操作而是应该使用”选择“操作     代码实现步骤         1.首先定位下拉框             WebElement element driver.findElement(By...)         2.把定位到的元素转成下拉框类型             Select select new Select(element);         3、执行”选择“操作             select.deselectAll()                 清空选择             选择某个元素有三种方式                 select.select_by_visible_text(界面可见的文字)                 select.select_by_index(0) #选项的value属性                 select.select_by_value(2)  #第几个选项 # 7、设置标签001id_new_tags login.find_element_by_id(id_new_tags)id_new_tags.clear()id_new_tags.send_keys(001)# 8、设置产生日期id_add_date login.find_element_by_id(id_add_date)id_add_date.clear()id_add_date.send_keys(2000/06/04 20:49) 设置标签和产生日期。 # 9、上传图片login.find_element_by_id(id_uploaded_poster).send_keys(D:\\niupeng2.png)# 10、描述id_description login.find_element_by_id(id_description)id_description.clear()id_description.send_keys(今天我们去动物园参观了小猴子)# 11、状态id_state login.find_element_by_id(id_state)Select(id_state).select_by_visible_text(私有) 正常定位元素并发送值就可以。 # 12、启动评论login.find_element_by_id(id_enable_comments).click()# 13、缩略图时刻id_thumbnail_time login.find_element_by_id(id_thumbnail_time)id_thumbnail_time.clear()id_thumbnail_time.send_keys(50)# 14、允许下载login.find_element_by_id(id_allow_download).click()# 15、点击Update Medialogin.find_element_by_class_name(primaryAction).submit() 到这后第一版已经完成了。已经实现了基本的功能。 在命令行界面输入pytest,会显示执行完成。 3、编辑媒体V2.0 简要说明一下代码的结构。首先新建了一个叫autoFuncTest2的工程。里面按顺序resource下面有test_data.xlsx的测试数据文件。test_cases下面的conftest.py的配置文件和test_update_media2.py的测试用例文件utils里面有一个专门读取xlsx文件的excel_utils.py文件。最后是一个pytest.ini的全局配置文件。 执行顺序为首先命令行输入pytest会读取pytest.ini配置文件按照里面的路径执行测试test_cases下面的测试用例test_update_media2.py。test_update_media2.py再调用conftest.py进行登录登录完成后调用utils里面有一个专门读取xlsx文件的excel_utils.py文件读取resource下面有test_data.xlsx的测试数据文件进行操做。 3.1 pytest之全局配置文件pytest.ini 把代码的执行路径改了。因为我们要重新编写V2.0版本。我们要将待执行的命令指向要执行的文件。 [pytest] addopts -s -v testpaths test_cases/test_update_media2.py 3.2 测试数据文件test_data.xlsx 这个是要读取的excel文件 其中里面有一些参数是我们要读取的。 title, category, tag, date, image, description, state, enable_comments, thumbnail_time, allow_download,verify_state, verify_date, verify_enable_comments,verify_allow_download 3.3 test_update_media2.py 这个要从excel里面读取数据进行参数化。 import timeimport pytest from selenium.webdriver.support.select import Selectfrom utils import excel_utilsclass TestUpDateMedia:test_data excel_utils.read(__file__)pytest.mark.parametrize(title, category, tag, date, image, description, state, enable_comments, thumbnail_time, allow_download, verify_state, verify_date, verify_enable_comments, verify_allow_download, test_data)def test_update_media(self,login,title, category, tag, date, image, description,state, enable_comments, thumbnail_time, allow_download,verify_state, verify_date, verify_enable_comments,verify_allow_download):# 1、登录# 2、点击我的媒体if Media was edited! in login.page_source:login.find_element_by_xpath(//i[text()menu]).click()# 如果页面出现了Media was edited!那么需要先点击左上角的”i“标签三个横线的按钮login.find_element_by_partial_link_text(我的媒体).click()# except Exception as e:# login.find_element_by_xpath(//i[text()menu]).click()# 3、点击媒体login.find_element_by_class_name(item-thumb).click()# 4、点击编辑媒体login.find_element_by_link_text(编辑媒体).click()# 5、设置标题login.find_element_by_id(id_title).clear()login.find_element_by_id(id_title).send_keys(title)# 6、设置媒体标题分类id_category login.find_element_by_id(id_category)# 如果用ctrl键可以多选用click方法不能多选。# Selenium给我们提供了一种方法 select_by_visible_text(Film) 可以多选select_category Select(id_category)select_category.deselect_all()for c in category.split(,):select_category.select_by_visible_text(c)# select_category.select_by_index(0) # Art# select_category.select_by_value(2) # Documentary# Experimental,Music,TV# 7、设置标签001id_new_tags login.find_element_by_id(id_new_tags)id_new_tags.clear()id_new_tags.send_keys()# 8、设置产生日期id_add_date login.find_element_by_id(id_add_date)id_add_date.clear()id_add_date.send_keys(date)# 9、上传图片login.find_element_by_id(id_uploaded_poster).send_keys(image)# 10、描述id_description login.find_element_by_id(id_description)id_description.clear()id_description.send_keys(description)# 11、状态id_state login.find_element_by_id(id_state)Select(id_state).select_by_visible_text(state)# 12、启动评论id_enable_comments login.find_element_by_id(id_enable_comments)if enable_comments 启用评论 and id_enable_comments.is_selected():passelif enable_comments 不启用评论 and not id_enable_comments.is_selected():passelse:id_enable_comments.click()# 13、缩略图时刻id_thumbnail_time login.find_element_by_id(id_thumbnail_time)id_thumbnail_time.clear()id_thumbnail_time.send_keys(thumbnail_time)# 14、不允许下载 allow_download,id_allow_download login.find_element_by_id(id_allow_download)if allow_download 允许下载 and id_allow_download.is_selected():passelif allow_download 不允许下载 and not id_allow_download.is_selected():passelse:id_allow_download.click()# 15、点击Update Medialogin.find_element_by_class_name(primaryAction).submit()# 16.断言# 检查标题assert login.find_element_by_css_selector(.media-title-banner h1).text title# 检查分类for c in category.split(,):assert c in login.page_source# 检查标签assert tag in login.page_source# 检查日期assert verify_date in login.page_source# 检查描述assert description in login.page_source# 检查状态if state 公开:assert private not in login.page_sourceassert unlisted not in login.page_sourceelse:assert verify_state in login.page_source# 检查评论assert verify_enable_comments in login.page_source# 检查是否允许评论 form-textareaif Add a comment... verify_enable_comments:assert login.find_element_by_class_name(form-textarea).get_attribute(placeholder) Add a comment...else:assert verify_enable_comments in login.page_source# 检查是否允许下载if verify_allow_download 允许下载:# login.find_element_by_xpath(//span[text()下载])assert 下载 in login.page_sourceelse:assert 下载 not in login.page_source 下面解释一下 pytest.mark.parametrize(excel中的标题,test_data) 接下来将这些参数传进去。并将里面的响应参数替换成传进去的参数。 def test_update_media(self,login,title, category, tag, date, image, description,state, enable_comments, thumbnail_time, allow_download,verify_state, verify_date, verify_enable_comments,verify_allow_download): 有时隐式等待一些元素需要用一些条件触发可以用一些条件判断代替。 if Media was edited! in login.page_source:login.find_element_by_xpath(//i[text()menu]).click() 有时一个参数里面有多个值比如category里面有Experimental,Music,TV下拉框里面需要选多个值需要用for循环遍历并用逗号隔开他们。 # 6、设置媒体标题分类id_category login.find_element_by_id(id_category)# 如果用ctrl键可以多选用click方法不能多选。# Selenium给我们提供了一种方法 select_by_visible_text(Film) 可以多选select_category Select(id_category)select_category.deselect_all()for c in category.split(,):select_category.select_by_visible_text(c) 有时需要判断同时页面上是否勾选如果勾选并且excel中要求启用评论那么不操作反之就勾选。这里面涉及到一个多重判断。 # 12、启动评论id_enable_comments login.find_element_by_id(id_enable_comments)if enable_comments 启用评论 and id_enable_comments.is_selected():passelif enable_comments 不启用评论 and not id_enable_comments.is_selected():passelse:id_enable_comments.click()
http://www.hkea.cn/news/14486532/

相关文章:

  • 发布消息做任务的网站建设网站第一部分
  • 衡水做企业网站的价格google代理
  • 上海松江区建设局官方网站wordpress怎么设计
  • 北京网站建设设计公司哪家好非法网站开发是什么意思
  • 网站层级typecho移植wordpress
  • 漳州城乡住房建设部网站广东建设信息网站塔吊查询
  • 做网站 长wordpress header导航
  • 手机app制作公司郑州seo优化seo外包
  • 汕头企业网站模板建站网站建设怎么建好
  • 高端网站建设服务商个人主页是重要的营销手段
  • 深圳龙华建网站公司湛江网站建设哪家优惠多
  • 展示型手机网站国际知名设计公司收入
  • 服务专业的网站制作服务一个空间怎么放两个网站吗
  • 朔州公司做网站wordpress 在线qq
  • 江苏省建设工程网站网站目录权限设置 user
  • 网络推广是干嘛的可以做吗济南网站优化seo
  • 通辽做网站制作广州网络推广平台
  • 接网站开发项目南京小程序建设
  • 黄金网站app免费视频下载网站如何做排名
  • 网站的网页wordpress的固定链接如何设置
  • 网站建设和网页设计是不是一样男女生做内个的网站
  • 网站建设 验证码外贸人才网官网
  • 网站静态化对seo装修设计网站源码
  • 旅游网站哪个好网站备案对网站负责人的要求
  • 赤壁市药监局网站建设方案百度会收录双域名的网站么
  • 网站开发人员岗位描述购物平台推广方案
  • 网站开发 源码创建网站目录结构应遵循的方法
  • 网站建设基本流程费用服务比较好的网页传奇
  • 5个免费安全的资源网站学校网站模板注意事项
  • 网站标题大全ghost卸载wordpress