博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python+selenium自动化测试(四)
阅读量:6266 次
发布时间:2019-06-22

本文共 7248 字,大约阅读时间需要 24 分钟。

hot3.png

# encoding=utf-8import timeimport testlogin.login as loginimport randomfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.select import Select  # 导入下拉列表插件def businessInfo(flag):    """    :param flag: flag=add(为新增),flag=update(为修改)    :return:pass    """    dr = login.driver    # dr.switch_to_default_content()  # 清除已经等位好的iframe    # dr.switch_to.frame("mainConFrame")  # 先定位容器iframe    dr.find_element_by_id("form_business")  # 定位商机录入form表单    now_time = time.strftime("%Y%m%d %H%M%S", time.localtime(time.time()))    now_time2 = time.strftime("%Y-%m-%d", time.localtime(time.time()))    if flag == "add":        # 商机名称        dr.find_element_by_name("businessName").send_keys(u"测试数据_" + now_time)        # 客户名称        businessName = '$("input[name=customerName]").val("郑州市知识产权局");'        dr.execute_script(businessName)        customerNumber = '$("input[name=customerNumber]").val("CUS20003");'        dr.execute_script(customerNumber)        # 最终客户名称        endCustomerName = '$("input[name=endCustomerName]").val("深圳市人民政府");'        dr.execute_script(endCustomerName)        endCustomerNumber = '$("input[name=endCustomerNumber]").val("CUS20656");'        dr.execute_script(endCustomerNumber)        # 招标类型        bidType = dr.find_element_by_id("bidType")        Select(bidType).select_by_index(random.randint(1, 4))  # 根据下拉列表的索引进行选择,默认下标未0开始        # 客户关系        customerRelation = dr.find_element_by_id("customerRelation")        Select(customerRelation).select_by_index(random.randint(1, 3))  # 根据下拉列表的索引进行选择,默认下标未0开始        # 预计合同额(万)        dr.find_element_by_name("contractAmount").send_keys("100")  # 赋值100W RMB        # 预计发标时间        # '$("input[name=bidPlanDateStr]").val()'        dr.find_element_by_xpath(".//*[@id='form_business']/table/tbody/tr[7]/td[1]/span/input[1]").send_keys(now_time2)        # 部门        deptNameA = '$("input[id=deptNameA]").val("平板终端经营体");'        dr.execute_script(deptNameA)        deptId = '$("#deptId").val("10560")'        dr.execute_script(deptId)        # 国家        areaName = '$("input[name=areaName]").val("中国");'        dr.execute_script(areaName)        areaCode = '$("input[name=areaCode]").val("CN");'        dr.execute_script(areaCode)        # 最终用途        endUse = dr.find_element_by_id("endUse")        Select(endUse).select_by_index(random.randint(1, 5))  # 根据下拉列表的索引进行选择,默认下标未0开始        # 预计毛利率        assistPercent = '$("input[name=assistPercent]").val("20");'        dr.execute_script(assistPercent)        # 预计签单时间        dr.find_element_by_xpath(".//*[@id='form_business']/table/tbody/tr[7]/td[2]/span/input[1]").send_keys(now_time2)        # 片区        saleArea = dr.find_element_by_id("saleArea")        Select(saleArea).select_by_index(            random.randint(1, 8))  # 根据下拉列表的索引进行选择,默认下标未0开始        # 省份        areaProvincesName = '$("input[name=areaProvincesName]").val("广东省");'        dr.execute_script(areaProvincesName)        areaProvincesCode = '$("input[name=areaProvincesCode]").val("GD")'        dr.execute_script(areaProvincesCode)        # 币种        currency = dr.find_element_by_id("currency")        Select(currency).select_by_index(random.randint(1, 8))        # 预计签约主体        contractType = dr.find_element_by_id("contractType")        Select(contractType).select_by_index(random.randint(1, 7))        # 竞争对手个数        dr.find_element_by_name("attribute3").send_keys(10)  # 设置竞争对手为10        # 调用addRow();新增相关产品        dr.execute_script("addRow()")        dr.execute_script('$("#input[name=productId1]").show();')        # 产品线        productBigName1 = '$("#productBigName1").val("集成外购产品");'        dr.execute_script(productBigName1)        productBigCode1 = '$("#productBigCode1").val("100000269933");'        dr.execute_script(productBigCode1)        productBigId1 = '$("#productBigId1").val("10520");'        dr.execute_script(productBigId1)        # 产品大类        productName1 = '$("input[id=productName1]").val("集成外购产品");'        dr.execute_script(productName1)        productId2 = '$("input[id=productId2]").val("10582");'        dr.execute_script(productId2)        productCode2 = '$("input[id=productCode2]").val("集成外购产品");'        dr.execute_script(productCode2)        dr.execute_script("getProductRowss(this,1)")        dr.find_element_by_id("lov__appProduct")        dr.find_element_by_id("container")        dr.find_element_by_id("condDiv")        dr.find_element_by_xpath('//*[@id="condDiv"]/div/div[2]/div[2]/div[1]/div[1]/div[2]/div/table')        dr.find_element_by_xpath('//*[@id="datagrid-row-r5-1-0"]/td[1]/div').click()        time.sleep(1)        dr.execute_script("lov_getChecked_n('lov__appProduct','1');")        # productId = '$("input[name=productId]").val("10582");'        # dr.execute_script(productId)        # 产品份额        dr.find_element_by_name("mainPercent1").send_keys("100")        # 客户需求(不少于100字)        dr.find_element_by_name("demand").send_keys(            random.sample([u'我是测试数据哈哈', u'你是大西瓜,西瓜,大西瓜', u'听说要招满100个字符', u'尔等只是路过,不要大惊小怪', 'abcdefghijklmen',                           u'测试特殊字符*(&*&……%¥……*)&(!@#@#¥%&*))))*(&*&&……#%¥@!', u'测试边界值。。。。。。。。。',                           u'——————————————等价划分法————————————', u'听说奥利奥和果冻很配哦', u'你取代,这一秒我生命的空白', u'测试数据测试数,',                           u'不知道数据够不够……'], 9)        )        # 产品大类负责人        productMrg1 = '$("#productMrg1").val("张涛0096000020");'        dr.execute_script(productMrg1)        # 竞争对手情况        dr.find_element_by_name("competitorCondition").send_keys(u"竞争对手测试数据_____" + now_time)        # 商机最新情况        dr.find_element_by_name("abstracts").send_keys(u"测试商机最新情况_____" + now_time)        # 文件上传        file = dr.find_element_by_id("file")        # .send_keys(random.sample(        # [u"F:\XXXXX\需求\Q&A-XXXXXMXX系统-曹XX.docx", u"F:\XXXX\需求\XXXX_zXXX技术方案评审V3.1邮件提醒汇总.xlsx",        #  u"F:\XXX\测试截图\5-4\2017-05-04_095422.jpeg", u"F:\XXXXX\测试日报\20170428.txt"], 4))        # uplist = [u"", u"F:\XXXX\自动化测试目录_勿删\XXX--国XXX员名单.xlsx",        #           u"F:\XXX\自动化测试目录_勿删\XXCRXXXX统-XXX.docx"]        file.send_keys(u"F:\中兴网信客户关系管理\自动化测试目录_勿删\测试截图2017年5月5日.jpeg")        dr.execute_script("upload();")        dr.find_element_by_id("uploadDiv")        dr.find_element_by_id("filename").clear()        dr.find_element_by_id("filename").send_keys(u'F:\中兴网信客户关系管理', '')  # 附件名称        relateType = dr.find_element_by_id("relateType")  # 附件类型        Select(relateType).select_by_index(0)  # 设置为商机录入        dr.find_element_by_id("uploadDivpopbox")        dr.find_element_by_id("uploadDiv")  # 定位上传框元素        dr.find_element_by_link_text(u"确定").click()        # dr.execute_script("onSaveFile(this);")        time.sleep(3)        # Keys.ENTER  # 模拟回车按键        # time.sleep(3)        dr.find_element_by_xpath("/html/body/div[27]/div[2]/div[4]/a")        dr.find_element_by_link_text(u"确定").click()  # 上传成功后点击确认        nullSummit(dr)  # 调用空值提交方法        time.sleep(2)        # Keys.ENTER  # 模拟回车按键        dr.find_element_by_xpath("/html/body/div[27]")        dr.find_element_by_link_text(u"确定").click()  # 提交成功,点击确定        # Keys.ENTER        time.sleep(1)        return "pass"    else:        return "pass"# 修改def nullSummit(dr):    """    :return: 空值提交    """    dr.execute_script("doSubmit();")  # 调用form表单方法

转载于:https://my.oschina.net/u/3222944/blog/903172

你可能感兴趣的文章
Android学习网站推荐(转)
查看>>
嵌入式根文件系统的移植和制作详解
查看>>
MEF部件的生命周期(PartCreationPolicy)
查看>>
LCD的接口类型详解
查看>>
nginx 基础文档
查看>>
LintCode: Unique Characters
查看>>
Jackson序列化和反序列化Json数据完整示例
查看>>
.net 中的DllImport
查看>>
nyoj 517 最小公倍数 【java睑板】
查看>>
include与jsp:include区别
查看>>
ftp的20 21端口和主动被动模式
查看>>
MySQL存储引擎选型
查看>>
Java中的statickeyword具体解释
查看>>
Linux车载系统的开发方向
查看>>
并发编程之五--ThreadLocal
查看>>
摄像头驱动OV7725学习笔记连载(二):0V7725 SCCB时序的实现之寄存器配置
查看>>
iOS播放短的音效
查看>>
[java] java 线程join方法详解
查看>>
JQuery datepicker 用法
查看>>
golang(2):beego 环境搭建
查看>>