文档章节

python+selenium自动化测试(五)

覃光林
 覃光林
发布于 2017/05/17 19:09
字数 583
阅读 21
收藏 0
# encoding=utf-8

import testlogin.login as login
import time
import random
from selenium.webdriver.support.select import Select

now_time = time.strftime("%Y%m%d", time.localtime(time.time()))
search_time = time.strftime("%Y-%m-%d", time.localtime(time.time()))


def searchAll():
    dr = login.driver
    """执行查询全部"""
    dr.execute_script("form_query()")
    time.sleep(2)
    searBusinessNum(dr)  # 按商机编号查询
    searchBusinessName(dr)  # 按商机名称查询
    searchCustomerName(dr)  # 按客户名称查询
    searchBeginTime(dr)  # 按预计签单时间查询
    searchBusinessStatus(dr)  # 按商机状态查询
    searchApplyName(dr)  # 按申请人查询
    searchBeginTime(dr)  # 按创建时间查询
    searchAreaName(dr)  # 按国家查询
    searchProductName(dr)  # 按产品线查询
    searchSaleArea(dr)  # 按片区查询


    return "pass"


def searBusinessNum(dr):
    '''按商机编号查询'''
    # dr.switch_to_frame("mainConFrame")
    # dr.find_element_by_id("container")
    # 按商机编号查询
    js1 = "var businessNum=document.getElementById(\"businessNum\");businessNum.style.border=\"2px solid red\";"
    dr.execute_script(js1)
    dr.find_element_by_id("businessNum").send_keys(now_time)
    dr.execute_script("form_query()")
    resetAll(dr)


def searchBusinessName(dr):
    '''按商机名称查询'''
    js2 = "var businessName = document.getElementById(\"businessName\");businessName.style.border=\"2px solid red\";"
    dr.execute_script(js2)
    dr.find_element_by_id("businessName").send_keys(u"测试数据_" + now_time)
    dr.execute_script("form_query()")
    resetAll(dr)


def searchCustomerName(dr):
    """按客户名称查询"""
    js3 = "var customerName = document.getElementById(\"customerName\");customerName.style.border=\"2px solid red\";"
    dr.execute_script(js3)
    dr.find_element_by_id("customerName").send_keys(u"郑州")
    dr.execute_script("form_query()")
    resetAll(dr)


def searchBeginTime(dr):
    """按创建时间查询"""
    dr.find_element_by_xpath('//*[@id="updateForm"]/table/thead/tr[2]/td[2]/span[1]/input[1]').send_keys(search_time)
    dr.execute_script("form_query()")
    time.sleep(1)
    dr.find_element_by_xpath('//*[@id="updateForm"]/table/thead/tr[2]/td[2]/span[2]/input[1]').send_keys(search_time)
    dr.execute_script("form_query()")
    resetAll(dr)


def searchBusinessStatus(dr):
    """按商机状态查询"""
    businessStatus = dr.find_element_by_id("businessStatus")
    js4 = "var businessStatus = document.getElementById(\"businessStatus\");businessStatus.style.border=\"2px solid red\";"
    for i in range(1, 7):
        dr.execute_script(js4)
        Select(businessStatus).select_by_index(random.randint(1, 7))
        dr.execute_script("form_query()")
        time.sleep(1)
    resetAll(dr)


def searchApplyName(dr):
    """按申请人查询"""
    js5 = '$("input[name=applyName]").val("0096");'  # 根据工号进行查询
    dr.execute_script(js5)
    dr.execute_script("form_query()")
    time.sleep(1)
    resetAll(dr)

    js6 = '$("input[name=applyName]").val("王梓聪");'  # 根据姓名进行查询
    dr.execute_script(js6)
    dr.execute_script("form_query()")
    time.sleep(1)
    resetAll(dr)


def searchBeginTime(dr):
    """按创建时间查询"""
    dr.find_element_by_xpath('//*[@id="updateForm"]/table/thead/tr[3]/td[2]/span[1]/input[1]').send_keys(search_time)
    dr.execute_script("form_query()")
    time.sleep(1)
    dr.find_element_by_xpath('//*[@id="updateForm"]/table/thead/tr[3]/td[2]/span[2]/input[1]').send_keys(search_time)
    dr.execute_script("form_query()")
    resetAll(dr)


def searchAreaName(dr):
    """按国家查询"""
    areaName = '$("input[name=areaName]").val("中国");'
    dr.execute_script(areaName)
    areaCode = '$("input[name=areaCode]").val("CN");'
    dr.execute_script(areaCode)
    # dr.find_element_by_id("areaId").send_keys("10116")
    dr.execute_script("form_query()")
    resetAll(dr)


def searchSaleArea(dr):
    """按片区查询"""
    saleArea = dr.find_element_by_id("saleArea")
    js6 = "var saleArea = document.getElementById(\"saleArea\");saleArea.style.border=\"2px solid red\";"
    for i in range(1, 10):
        dr.execute_script(js6)
        Select(saleArea).select_by_index(random.randint(1, 10))
        dr.execute_script("form_query()")
        time.sleep(1)
    resetAll(dr)


def searchProductName(dr):
    """按产品线查询"""
    js6 = "var productBigName = document.getElementById(\"productBigName\");productBigName.style.border=\"2px solid red\";"
    dr.execute_script(js6)
    js7 = '$("#productBigName").val("集成外购产品")'
    dr.execute_script(js7)
    js8 = '$("#productBigId").val("10520")'
    dr.execute_script(js8)
    # dr.find_element_by_id("productBigName").send_keys(u"集成外购产品")
    # dr.find_element_by_id("productBigId").send_keys(u"10520")
    dr.execute_script("form_query()")
    resetAll(dr)


def resetAll(dr):
    """清空所有查询条件"""
    time.sleep(1)
    dr.execute_script("btn_reset('form_search');form_reset();")

© 著作权归作者所有

覃光林
粉丝 13
博文 141
码字总数 66492
作品 0
深圳
QA/测试工程师
私信 提问
Python+Selenium搭建UI自动化测试框架

本文原文来自GitHub个人主页 > Python+Selenium搭建UI自动化测试框架 Python语言是非常强大的编程语言,很多时候也拿来当脚本语言用。 Selenium是web应用测试工具,支持Java、Python等多种语...

FunGa
2015/09/06
9K
0
selenium使用chrome时,报错ignore certificate errors

使用python+selenium驱动chrome做自动化测试是一个很常见的场景,以前使用chrome时页面头部出现了一个小黄条报错提示“您使用的是不受支持的命令行标记:--ignore-certificate-errors。稳定性...

rasine的杂货铺
2015/12/28
8.7K
1
Python+Selenium自动化

1,什么是selenium selenium是一个开源的自动化测试框架,主要适用WEB测试,可以支持多种语言(Java, C#, Python,php等),既然支持多语言开发,那跨平台自然就不用多说啦,selenium有几个版本...

拉夫斯基
2015/12/01
265
0
python+selenium 自动化测试环境搭建

selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点: * 免费,也不用再为破解QTP而大伤脑筋 * 小巧,对于不同的语言它只是一个包...

AltBoy
2017/08/12
0
0
Docker + selenium + jenkins 并行跑自动化测试

背景 目标:使用docker做UI自动化测试并在Jenkins运行 调试环境:MocOS 运行环境:Linux ubuntu + docker 涉及工具:docker,selenium,unittest, jenkins 基本思路 找一个适合做自动化的doc...

呐呐丶嘿
2018/12/11
551
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
5
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
8
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0
一、Django基础

一、web框架分类和wsgiref模块使用介绍 web框架的本质 socket服务端 与 浏览器的通信 socket服务端功能划分: 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn... 根据用户访问...

ZeroBit
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部