# 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表单方法