def test_basic_test(self): """演示脚本""" # ************************** login ************************ page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key('admin') page.input_password_key('123456') page.click_button() time.sleep(7) # ************************** porject *********************** self.dr.click('id->systemName') time.sleep(1) self.dr.click('xpath->/html/body/div[1]/ul/li[2]/ul/li[5]') time.sleep(3) self.dr.click('id->551') #基础数据配置 time.sleep(2) self.dr.click('id->644') #旅行社 time.sleep(3) # ************************ 切换frame ********************** self.dr.switch_to_frame('id->indIframe') time.sleep(3) # ************************* before check ******************** text_before = self.dr.get_text( 'xpath->/html/body/div[2]/div/div[2]/div[2]/div/span') # ************************** actions ************************ self.dr.click('id->listAddButton') time.sleep(3) self.dr.type('name->name', 'lvxing') #名称 self.dr.click('xpath->//*[@id="regionSelector"]/div[3]') time.sleep(2) self.dr.click( 'xpath->//*[@id="regionSelector"]/div[3]/ul/li[2]') #所属地区 time.sleep(2) self.dr.click('id->mbBox9') time.sleep(3) self.dr.click('xpath->//*[@id="messMap"]/div[1]/div[1]') time.sleep(3) self.dr.click('xpath->/html/body/div[4]/div[2]/div[1]/div/a') #经纬度 time.sleep(3) self.dr.click('xpath->//*[@id="dataForm"]/div[2]/div/button') # ************************ check after ************************ # check 1:数量变化 text_fater = self.dr.get_text( 'xpath->/html/body/div[2]/div/div[2]/div[2]/div/span') # text_before equal text_fater if text_before == text_fater: pass else: raise SystemError
def test_actions_search_001(self): """ 用例编号:actions_search_001 模块:search 功能点:搜索(指定) """ # ****************************** login ****************************** page = login_page.IndexPage(self.dr) page.into_page('') page.input_username_key('') page.input_password_key('') page.input_code_key('') page.click_button() time.sleep(7) # ****************************** login check ****************************** self.assertEqual(u'', page.return_title()) # ****************************** porject ****************************** self.dr.click('') self.dr.sleep(3) # ****************************** 切换frame ****************************** self.dr.switch_to_frame('') self.dr.sleep(3) # ****************************** actions search ****************************** """actions_search"""
def test_login_page(self): """ login """ #************************** login ************************ page = login_page.IndexPage(self.dr) page.into_page('https://www.baidu.com/') self.dr.type('id->kw','中国')
def test_login_page(self): """ login """ #************************** login ************************ page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key('admin') page.input_password_key('123456') page.click_button() time.sleep(7) self.assertEqual(u'旅游公共信息服务平台', page.return_title()) #************************** porject *********************** self.dr.click('id->systemName') time.sleep(1) self.dr.click('xpath->/html/body/div[1]/ul/li[2]/ul/li[7]') time.sleep(3) self.dr.click('id->790')#产品管理 time.sleep(2) self.dr.click('id->792')#门票 time.sleep(3) #************************ 切换frame ********************** self.dr.switch_to_frame('id->indIframe') time.sleep(3) #************************* before check ******************** pass #************************** actions ************************ self.dr.click('xpath->//*[@id="listForm"]/div[2]/a[1]') time.sleep(2)
def _search(self, data_values): """封装的函数""" page = login_page.IndexPage(self.dr) page.into_page() page.input_username_key(data_values[0]) page.input_password_key(data_values[1]) page.input_code_key(data_values[2]) page.click_button() time.sleep(2)
def _search(self,data_values): """封装的函数""" page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key(data_values[0]) page.input_password_key(data_values[1]) page.input_code_key(data_values[2]) page.click_button() sleep(2)
def test_basic_test(self): """演示脚本""" # ************************** login ************************ page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key('admin') page.input_password_key('123456') page.click_button() time.sleep(7) # self.assertEqual(u'旅游行业管理平台3.0.0', page.return_title()) # ************************** porject *********************** self.dr.click('id->systemName') time.sleep(1) self.dr.click('xpath->/html/body/div[1]/ul/li[2]/ul/li[5]') time.sleep(3) self.dr.click('id->551') #基础数据配置 time.sleep(2) self.dr.click('id->654') #特色美食 time.sleep(3) # ************************ 切换frame ********************** self.dr.switch_to_frame('id->indIframe') time.sleep(3) # ************************* before check ******************** text_before = self.dr.get_text( 'xpath->/html/body/div[2]/div/div[2]/div[2]/div/span') # ************************** actions ************************ self.dr.click('id->listAddButton') time.sleep(3) self.dr.type('name->name', 'tesemeishi') #名称 self.dr.click('xpath->//*[@id="regionSelector"]/div[3]') time.sleep(2) self.dr.click( 'xpath->//*[@id="regionSelector"]/div[3]/ul/li[2]') #所属地区 time.sleep(2) self.dr.type('name->summary', 'easy') #美食简介 self.dr.click('xpath->//*[@id="dataForm"]/div[2]/div/button') # ************************ check after ************************ # check 1:数量变化 text_fater = self.dr.get_text( 'xpath->/html/body/div[2]/div/div[2]/div[2]/div/span') # text_before equal text_fater if text_before == text_fater: pass else: raise SystemError
def test_basic_test(self): """演示脚本""" #**************************login************************ page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key('admin') page.input_password_key('123456') page.click_button() time.sleep(7) # self.assertEqual(u'旅游行业管理平台3.0.0', page.return_title()) #**************************porject*********************** # project=u'资源管理' # page.project_number(project) self.dr.click('xpath->//*[@id="itemUl"]/li[5]') time.sleep(3) # type=u'景区' # page.type_number(type) self.dr.click('id->627') time.sleep(3) #**************************切换frame********************** self.dr.switch_to_frame('id->main') time.sleep(3) t1 = page.data_number() time.sleep(2) # self.dr.click('xpath->//*[@id="listForm"]/div/div/div[1]/div[4]/a[1]') # self.dr.switch_to_frame('id->layui-layer-iframe1') time.sleep(7) #**************************添加数据************************ page.actions_type_add_all(type, '1') time.sleep(3) page.actions_type_add_all(type, '2') time.sleep(3) page.actions_type_add_all(type, '3') time.sleep(3) page.actions_type_add_all(type, '4') time.sleep(3) #*********************比对添加前后数据总数******************* self.dr.switch_to_frame_out() time.sleep(3) self.dr.switch_to_frame('id->main') time.sleep(3) t2 = page.data_number() # get_img(self.dr,'123.png') t3 = t2 - t1 if t3 == 1: self.dr.my_print("Resources added successfully", ) else: # print raise SystemError
def test_actions_delete_001(self): """ 用例编号:actions_delete_001 模块:delete 功能点:删除(指定) """ # ****************************** login ****************************** page = login_page.IndexPage(self.dr) page.into_page('') page.input_username_key('') page.input_password_key('') page.input_code_key('') page.click_button() time.sleep(7) # ****************************** login check ****************************** self.assertEqual(u'', page.return_title()) # ****************************** porject ****************************** self.dr.click('') self.dr.sleep(3) # ****************************** 切换frame ****************************** self.dr.switch_to_frame('') self.dr.sleep(3) # ****************************** before check(获取信息总数) ****************************** text_before = self.dr.get_text('') # print text_before # ****************************** actions delete ****************************** """actions_delete""" #选择一个或多个,或者all。 self.dr.click('***->***')#选择对象 self.dr.sleep(1) self.dr.click('***->***')#删除操作 self.dr.sleep(3) # ****************************** check after(操作后check总数变化) ****************************** text_after = self.dr.get_text('')
def test_login_001(self): """ login """ #****************************** login ****************************** page = login_page.IndexPage(self.dr) page.into_page('') page.input_username_key('') page.input_password_key('') page.input_code_key('') page.click_button() time.sleep(7) self.assertEqual(u'', page.return_title()) # def test_project_001(self): """project""" #****************************** porject ****************************** self.dr.click('') self.dr.sleep(3) #****************************** 切换frame ****************************** self.dr.switch_to_frame('') self.dr.sleep(3) #****************************** before check(获取信息总数) ****************************** text_before = self.dr.get_text('') # print text_before # def test_actions_add_001(self): """actions_add""" #****************************** actions ****************************** # def test_check(self): """check"""
def test_login_page(self): """ login """ #************************** login ************************ self.fake = Factory.create("zh_CN") page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key('admin') page.input_password_key('123456') page.click_button() time.sleep(7) self.assertEqual(u'旅游公共信息服务平台', page.return_title()) #************************** porject *********************** self.dr.click('id->systemName') time.sleep(1) self.dr.click('xpath->/html/body/div[1]/ul/li[2]/ul/li[7]') time.sleep(3) self.dr.click('id->790') #产品管理 time.sleep(2) self.dr.click('id->836') #酒店 time.sleep(3) #************************ 切换frame ********************** self.dr.switch_to_frame('id->indIframe') time.sleep(3) #************************* before check ******************** text_before = self.dr.get_text( 'xpath->//*[@id="listForm"]/div[4]') #获取当前页面条数显示信息 print text_before #************************** actions ************************ self.dr.click('xpath->//*[@id="listForm"]/div[2]/a[1]') #点击添加 self.dr.sleep(3) #选择酒店 * self.dr.click('id->companyName') time.sleep(2) self.dr.click('xpath->/html/body/div[5]/div[2]/table/tbody/tr[1]') #商户(默认) #选择房型 * #新增 # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[4]/td/a') # time.sleep(3) # self.dr.type('name->name','***') #房型 # self.dr.type('name->storey','***') #楼层 # self.dr.type('name->bedType','***') #床型 # self.dr.type('name->num','***') #可住人数 # self.dr.type('name->acreage','***') #面积 # self.dr.type('name->window','***') #窗户 # self.dr.type('name->wifi','***') #wifi # self.dr.type('name->panorama','***') #720全景 # self.dr.click('xpath->//*[@id="num2"]/td[10]/button[1]') #房型设施 # self.dr.click('xpath->//*[@id="num2"]/td[11]/button[1]') #房型图片 # self.dr.click('xpath->//*[@id="num2"]/td[12]/button') #删除 # self.dr.click('id->butsubmit') #保存 # self.dr.click('xpath->//*[@id="inputForm"]/input[2]') #返回 # #选择 # self.dr.click('id->companyTypeId') #产品名称 * self.dr.type('name->name', '123') #服务特色 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[6]/td/span/label' ) #随时退 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[6]/td/span/span' ) #秒发码 #是否含早 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[7]/td/label[1]') #无 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[7]/td/label[2]' ) #含早 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[7]/td/label[3]' ) #含双早 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[7]/td/label[4]' ) #含三早 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[7]/td/label[5]' ) #有(收费) #验票人 * # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[8]/td/label') #其他验票人 self.dr.click('id->selectCheckTicketMember') self.dr.sleep(2) self.dr.switch_to_frame('xpath->/html/body/div[8]/div[3]/div/iframe') self.dr.sleep(3) self.dr.click('id->selectAll') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click('xpath->/html/body/div[8]/div[4]/input[1]') self.dr.sleep(2) #商品头图 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/div/div[2]/ul/li/div/a' ) self.dr.sleep(3) os.system('D:\WinClick3.exe') #AUTO self.dr.sleep(3) #商品封面图 self.dr.click('id->logoUploadBox_1_1') self.dr.sleep(3) os.system('D:\WinClick4.exe') #AUTO self.dr.sleep(3) #销售渠道 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[11]/td/label[1]/label[1]' ) #C端 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[11]/td/label[2]' ) #PC商场 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[11]/td/label[3]' ) #购票机 #取消设置 self.dr.type('name->autoCancelTime', '***') #联系人信息 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/td/label[3]') #出售时间 #1(默认) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[15]/td/label[1]') #2 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[15]/td/label[2]/input[1]' ) self.dr.sleep(1) self.dr.click('id->saleStartTime') self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(3) self.dr.click('xpath->/html/body/div/div[6]/input[2]') self.dr.sleep(3) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click('name->saleEndTime') self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(2) self.dr.click('id->dpTodayInput') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) #3 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[15]/td/label[3]') #短信模板 * self.dr.click('id->smsThemeId') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[16]/td/div/ul/li[1]' ) #价格库存 * self.dr.click('id->batchset') #批量上架 self.dr.sleep(2) self.dr.click('id->startDate_1') self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(2) self.dr.click('id->dpTodayInput') self.dr.sleep(3) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click('id->endDate_1') self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(3) self.dr.click('id->dpTodayInput') self.dr.sleep(3) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[1]' ) #星期1 self.dr.sleep(1) self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[2]' ) #星期2 self.dr.sleep(1) self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[3]' ) #星期3 self.dr.sleep(1) self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[4]' ) #星期4 self.dr.sleep(1) self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[5]' ) #星期5 self.dr.sleep(1) self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[6]' ) #星期6 self.dr.sleep(1) self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[7]' ) #星期7 self.dr.sleep(1) self.dr.type('id->marketPrice_1', '100') #票面价 # self.dr.type('id->stockNum_1', '100')#每日库存 self.dr.type('id->sellPrice_1', '100') #售卖价 # self.dr.type('id->minimum_1', '100')#最少购买 # self.dr.type('id->maximum_1', '100')#最多购买 self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[4]/input[1]') #保存 # self.dr.click('xpath->//*[@id="dateStock"]/div[2]/div[4]/input[2]')#取消 self.dr.sleep(2) # 批量下架 self.dr.click('id->batchunset') self.dr.sleep(3) self.dr.click('id->startDate_3') self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(2) self.dr.click('id->dpTodayInput') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[1]/td[2]/div/label[2]' ) self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(3) self.dr.click('id->dpTodayInput') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[1]' ) #1 self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[2]' ) #2 self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[3]' ) #3 self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[4]' ) #4 self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[5]' ) #5 self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[6]' ) #6 self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[7]' ) #7 self.dr.click('xpath->//*[@id="unstock"]/div[2]/div[4]/input[1]') #确定 # self.dr.click('xpath->//*[@id="unstock"]/div[2]/div[4]/input[2]')#取消 self.dr.sleep(2) #全部下架 self.dr.click('id->clearall') #商品调价 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[19]/td/label[1]' ) #是 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[19]/td/label[2]' ) #否 #退款设置 #可以退款(默认) self.dr.click('name->canRefund') #列表1: self.dr.click('name->partRefund') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[1]/select[1]/option[1]' ) #列表2: self.dr.click('id->refundChargeType') self.dr.sleep(2) self.dr.click('xpath->//*[@id="refundChargeType"]/option[1]') #输入: self.dr.clear_type('id->refundCharge', '***') #不可退款 # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[2]') #退款审核(退款设置为不可退款时,不存在此项) self.dr.click('xpath->//*[@id="refundAudit"]/td/label[1]') #需要审核 self.dr.click('xpath->//*[@id="refundAudit"]/td/label[2]') #不需要审核 #退款说明 * self.dr.type('name->refundInfo', '***') #费用包含 * self.dr.type('name->feeInfo', '***') #费用不含 self.dr.type('name->feeExclude', '***') #使用说明 * self.dr.type('name->remind', '***') #保存 self.dr.click( 'xpath->//*[@id="inputForm"]/table[2]/tbody/tr/td/input[1]')
def test_login_page(self): """ login """ #************************** login ************************ page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key('admin') page.input_password_key('123456') page.click_button() time.sleep(7) self.assertEqual(u'旅游公共信息服务平台', page.return_title()) #************************** porject *********************** self.dr.click('id->systemName') time.sleep(1) self.dr.click('xpath->/html/body/div[1]/ul/li[2]/ul/li[7]') time.sleep(3) self.dr.click('id->790') #产品管理 time.sleep(2) self.dr.click('id->798') #团购 time.sleep(3) #************************ 切换frame ********************** self.dr.switch_to_frame('id->indIframe') time.sleep(3) #************************* before check ******************** text_before = self.dr.get_text( 'xpath->//*[@id="listForm"]/div[4]') #获取当前页面条数显示信息 print text_before #************************** actions ************************ self.dr.click('xpath->//*[@id="listForm"]/div[2]/a[1]') #点击添加 self.dr.sleep(3) #商品名称 * self.dr.type('name->name', '***') #推荐理由 self.dr.type('name->reason', '***') #服务特色 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[4]/td/span/label' ) #随时退 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[4]/td/span/span') #商品图片 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/div/div[2]/ul/li/div/a' ) self.dr.sleep(3) os.system('D:\WinClick4.exe') self.dr.sleep(3) #商品封面图 self.dr.click('id->logoUploadBox_1_1') self.dr.sleep(3) os.system('D:\WinClick4.exe') self.dr.sleep(3) #商户 self.dr.click('id->supplierName') self.dr.sleep(2) self.dr.click('xpath->/html/body/div[6]/div[2]/table/tbody/tr[1]') self.dr.sleep(2) #验票人 # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[8]/td/label') self.dr.click('id->selectCheckTicketMember') self.dr.sleep(2) self.dr.switch_to_frame('xpath->/html/body/div[9]/div[3]/div/iframe') self.dr.sleep(3) self.dr.click('id->selectAll') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click('xpath->/html/body/div[9]/div[4]/input[1]') self.dr.sleep(2) #销售渠道 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[1]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[2]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[3]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[4]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[5]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[2]') #取消设置 self.dr.type('name->autoCancelTime', '***') #联系人信息 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[12]/td/label[3]') #客人信息 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/th/label') self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/span/label[1]' ) #默认 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/span/label[2]' ) #不需要 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/div/label[1]' ) #姓名 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/div/label[2]' ) #拼音 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/div/label[3]' ) #手机 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/div/label[4]' ) #身份证 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/div/label[5]' ) #护照 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/div/label[6]' ) #台胞证 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/div/label[7]' ) #港澳通行证 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/div/label[8]/input[1]' ) self.dr.type( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/div/label[8]/input[2]', '***') self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/div/label[9]/input[1]' ) self.dr.type( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/div/label[9]/input[2]', '***') #预订限制 # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/td/label[1]')#默认 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/td/label[2]/input[1]' ) self.dr.type( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/td/label[2]/input[2]', '***') self.dr.click('name->enterSightAdvanceHour') self.dr.sleep(2) self.dr.click('xpath->//*[@id="ADVANCE_BOOK_TIME"]/option[1]') self.dr.click('name->enterSightAdvanceMinute') self.dr.sleep(2) self.dr.click('xpath->//*[@id="ADVANCE_BOOK_TIME"]/option[1]') #生效时间 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[15]/th/label') self.dr.type('name->enterSightDelayBookHour', '***') #手机限制 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[16]/th/label') self.dr.click('name->limitTimeType_MOBILE') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[16]/td/select[1]/option[1]' ) self.dr.sleep(2) self.dr.click('name->limitTimeNum_MOBILE') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[16]/td/select[2]/option[1]' ) self.dr.sleep(2) self.dr.type('name->limitAmountNum_MOBILE', '***') #身份证限制 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[17]/th/label') self.dr.click('name->limitTimeType_IDCARD') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[17]/td/select[1]/option[1]' ) self.dr.sleep(2) self.dr.click('name->limitTimeNum_IDCARD') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[17]/td/select[2]/option[1]' ) self.dr.sleep(2) self.dr.type('name->limitAmountNum_IDCARD', '***') #出售时间 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[18]/td/label[1]') self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[18]/td/label[2]/input[1]' ) self.dr.click('id->saleStartTime') self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(2) self.dr.click('xpath->/html/body/div/div[6]/input[2]') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[18]/td/label[2]/input[3]' ) self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(3) self.dr.click('id->dpTodayInput') self.dr.sleep(3) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) #短信模板 * self.dr.click('id->smsThemeId') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[19]/td/div/ul/li[1]' ) # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[19]/td/a') #价格库存模式 * # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[1]') # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[2]') #验证消费日期 * self.dr.click('xpath->//*[@id="consumeAuthen"]/td/label[1]/label') self.dr.click('xpath->//*[@id="consumeAuthen"]/td/label[2]/label') self.dr.click('id->consumeStartDate') self.dr.sleep(2) self.dr.switch_to_frame('xpath->/html/body/div[7]/iframe') self.dr.sleep(2) self.dr.click('id->dpTodayInput') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click('id->consumeEndDate') self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(3) self.dr.click('id->dpTodayInput') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[18]/td/label[3]') #价格库存 * #批量上架 self.dr.click('id->batchset') self.dr.sleep(2) self.dr.click('id->startDate_1') self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(2) self.dr.click('id->dpTodayInput') self.dr.sleep(3) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click('id->endDate_1') self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(3) self.dr.click('id->dpTodayInput') self.dr.sleep(3) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[1]' ) #星期1 self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[2]' ) #星期2 self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[3]' ) #星期3 self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[4]' ) #星期4 self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[5]' ) #星期5 self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[6]' ) #星期6 self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[7]' ) #星期7 self.dr.type('id->marketPrice_1', '100') #票面价 self.dr.type('id->stockNum_1', '100') #每日库存 self.dr.type('id->sellPrice_1', '100') #售卖价 self.dr.type('id->minimum_1', '100') #最少购买 self.dr.type('id->maximum_1', '100') #最多购买 self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[4]/input[1]') #保存 # self.dr.click('xpath->//*[@id="dateStock"]/div[2]/div[4]/input[2]')#取消 self.dr.sleep(2) # 批量下架 self.dr.click('id->batchunset') self.dr.sleep(3) self.dr.click('id->startDate_3') self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(2) self.dr.click('id->dpTodayInput') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[1]/td[2]/div/label[2]' ) self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(3) self.dr.click('id->dpTodayInput') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[1]' ) #1 self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[2]' ) #2 self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[3]' ) #3 self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[4]' ) #4 self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[5]' ) #5 self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[6]' ) #6 self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[7]' ) #7 self.dr.click('xpath->//*[@id="unstock"]/div[2]/div[4]/input[1]') #确定 # self.dr.click('xpath->//*[@id="unstock"]/div[2]/div[4]/input[2]')#取消 self.dr.sleep(2) #全部下架 self.dr.click('id->clearall') #商品调价 # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[25]/td/label[1]') self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[25]/td/label[2]') #退款设置 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[27]/td/label[1]/input[1]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[27]/td/label[1]/select[1]' ) self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[27]/td/label[1]/select[1]/option[1]' ) self.dr.sleep(2) self.dr.click('id->refundChargeType') self.dr.sleep(2) self.dr.type('id->refundCharge', '***') # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[27]/td/label[2]') #退款审核 self.dr.click('xpath->//*[@id="refundAudit"]/td/label[1]') self.dr.click('xpath->//*[@id="refundAudit"]/td/label[2]') #退款说明 * self.dr.type('name->refundInfo', '***') #所属商家 * (类型:餐饮,旅游,生活。。选择不同显示选项不同。此为旅游) self.dr.click('id->businessOfTeamName') self.dr.sleep(3) self.dr.click('xpath->//html/body/div[5]/div[2]/table/tbody/tr[7]') self.dr.sleep(3) # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[31]/td/a')#添加商家 #所属分类 * #根据商家 #商品头图 self.dr.click('xpath->//*[@id="headImage"]/td/div/div/ul/li/div/a') self.dr.sleep(3) os.system('D:\WinClick4.exe') #******** self.dr.sleep(3) #性别 # self.dr.click('xpath->//*[@id="sex"]/td/label[1]') self.dr.click('xpath->//*[@id="sex"]/td/label[2]') #相关证件号 self.dr.type('name->certificate', '***') #特色服务 self.dr.sleep(2) self.dr.switch_to_frame( 'xpath->//*[@id="specialty"]/td/div/div[2]/iframe') self.dr.sleep(3) self.dr.type('xpath->/html/body', '***') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) #费用说明 self.dr.sleep(2) self.dr.switch_to_frame( 'xpath->//*[@id="feeInfo"]/td/div/div[2]/iframe') self.dr.sleep(3) self.dr.type('xpath->/html/body', '***') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) #温馨提示 self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="memo"]/td/div/div[2]/iframe') self.dr.sleep(3) self.dr.type('xpath->/html/body', '***') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) #套餐详情 self.dr.switch_to_frame( 'xpath->//*[@id="detail"]/td/div/div[2]/iframe') self.dr.sleep(3) self.dr.type('xpath->/html/body', '***') self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) #保存 self.dr.click( 'xpath->//*[@id="inputForm"]/table[2]/tbody/tr/td/input[1]')
def test_login_page(self): """ login """ #************************** login ************************ page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key('admin') page.input_password_key('123456') page.click_button() time.sleep(7) self.assertEqual(u'旅游公共信息服务平台', page.return_title()) #************************** porject *********************** self.dr.click('id->systemName') time.sleep(1) self.dr.click('xpath->/html/body/div[1]/ul/li[2]/ul/li[7]') time.sleep(3) self.dr.click('id->790') #产品管理 time.sleep(2) self.dr.click('id->794') #酒店1.0 time.sleep(3) #************************ 切换frame ********************** self.dr.switch_to_frame('id->indIframe') time.sleep(3) #************************* before check ******************** text_before = self.dr.get_text( 'xpath->//*[@id="listForm"]/div[4]') #获取当前页面条数显示信息 print text_before #************************** actions ************************ self.dr.click('xpath->//*[@id="listForm"]/div[2]/a[1]') #点击添加 self.dr.sleep(3) #选择酒店 * self.dr.click('id->companyName') #打开列表 self.dr.sleep(2) self.dr.click( 'xpath->/html/body/div[5]/div[2]/table/tbody/tr[1]') #第一个 #选择房型 * self.dr.click('id->companyType') self.dr.sleep(2) self.dr.click('xpath->//*[@id="companyType"]/option') #选择第一个 ,有效数据 # 新增 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/a') #点击 新增 #产品名称 * (2/60字) self.dr.type('name->name', '*****') # * :输入数据 #是否含早 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/label[1]' ) # 无 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/label[2]' ) # 含早 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/label[3]' ) # 含双早 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/label[4]' ) # 含三早 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/label[5]' ) # 有(收费) #商户 self.dr.click('id->supplierName') #打开列表 self.dr.sleep(2) self.dr.click( 'xpath->/html/body/div[6]/div[2]/table/tbody/tr[1]') #选择 第一个 self.dr.type('xpath->/html/body/div[6]/div[1]/input', '*******') #"请输入商户账号" * :账号 self.dr.click('xpath->/html/body/div[6]/div[1]/a') #搜索键 self.dr.click('xpath->/html/body/div[6]/div[1]/button') #清空键 #验票人 * self.dr.click('name->isSupplierCheck') #商户可验票 #其他验票人 self.dr.click('id->selectCheckTicketMember') #切frame self.dr.switch_to_frame('id->browserFrame15350796781108236') self.dr.sleep(3) self.dr.click('id->selectAll') #全选 self.dr.click('xpath->//*[@id="listTable"]/tbody/tr[2]') #第一个 self.dr.click('xpath->/html/body/div[9]/div[4]/input[1]') #确定 self.dr.click('xpath->/html/body/div[9]/div[4]/input[2]') #关闭 self.dr.type('id->searchValue', '****') #搜索条件 self.dr.click('xpath->//*[@id="listForm"]/div[1]/button') #查询 #切回frame self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) #商品头图 self.dr.click('xpath->/html/body/div[8]') self.dr.sleep(3) os.system('') #AUTO执行程序 self.dr.sleep(3) #销售渠道 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]' ) #供销平台 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[2]/label[1]' ) #C端 (全选) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[2]/label[2]' ) #产品码 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[2]/label[3]' ) #商品码 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[2]/label[4]' ) #专题码 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[2]/label[5]' ) #店铺码 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[3]' ) #PC商场 #取消设置 self.dr.type('name->autoCancelTime', '*****') #联系人信息(默认勾选:手机号,姓名) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[12]/td/label[3]') #出售时间 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/label[1]' ) #立刻上架出售,过期自动下架 (默认勾选) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/label[2]' ) #点击设定出售时间 self.dr.click('id->saleStartTime') #起始 self.dr.click('name->saleEndTime') #截止 #时间操作 self.dr.click('id->dpQS') #切换显示方式 #常规显示,为6 排 数据,操作按排数来 self.dr.click('xpath->/html/body/div/div[3]/table/tbody/tr[6]/td[6]' ) #有效时间:第五排,第六个,星期五 self.dr.click('id->dpClearInput') #清空 self.dr.click('id->dpTodayInput') #今天 self.dr.click('id->dpOkInput') #确定 #短信模板 * self.dr.click('id->smsThemeId') #打开列表 self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/td/div/ul/li[1]' ) #第一个选项 #新增模板 self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/td/a') #价格库存 #批量操作 self.dr.click('id->batchset') #批量上架 #弹窗 self.dr.click('id->startDate_1') #起始 #时间操作同上:140-144 self.dr.click('id->endDate_1') #截止 # 时间操作同上:140-144 self.dr.click( 'xpath->//*[@id="dateStock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[1]' ) #星期一 input[2]:星期二 依次类推 self.dr.type('id->marketPrice_1', '***') #票面价 * self.dr.type('id->stockNum_1', '***') #每日库存 * self.dr.type('id->sellPrice_1', '***') #售卖价 * self.dr.type('id->minimum_1', '***') #最少购买 * self.dr.type('id->maximum_1', '***') #最多购买 * (不可小于最少购买) self.dr.click('id->batchunset') #批量下架 #弹窗 self.dr.click('id->startDate_3') #起始 #见140-144 self.dr.click('id->endDate_3') #截止 # 见140-144 #星期 :见161 self.dr.click('xpath->//*[@id="unstock"]/div[2]/div[4]/input[1]') self.dr.click('xpath->//*[@id="unstock"]/div[2]/div[4]/input[2]') self.dr.click('id->clearall') #全部下架 #商品调价 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[17]/td/label[1]' ) #是(默认) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[17]/td/label[2]' ) #否 #退款设置 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[19]/td/label[1]' ) #可以退款(默认) self.dr.click('name->partRefund') #打开第一个列表 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[19]/td/label[1]/select[1]/option[1]' ) #第一个选项:可以部分退. option[2]: self.dr.click('id->refundChargeType') #第二个列表 self.dr.click('xpath->//*[@id="refundChargeType"]/option[1]') #第一个选项 self.dr.type('id->refundCharge', '***') #输入 #不可退款 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[19]/td/label[2]' ) #选择不可退款,退款审核将会消失 #退款审核(条件:退款设置为可以退款) self.dr.click('xpath->//*[@id="refundAudit"]/td/label[1]') #需要审核 self.dr.click('xpath->//*[@id="refundAudit"]/td/label[2]') #不需要审核(默认) #退款说明 * self.dr.type('name->refundInfo', '***') #费用说明 * self.dr.type('name->feeInfo', '****') #费用不含 self.dr.type('name->feeExclude', '***') #使用说明 * self.dr.type('name->remind', '***') self.dr.click( 'xpath->//*[@id="inputForm"]/table[2]/tbody/tr/td/input[1]') #保存 self.dr.click( 'xpath->//*[@id="inputForm"]/table[2]/tbody/tr/td/input[2]') #返回 #************************ check after ************************ pass
def test_login_page(self): """ login """ #************************** login ************************ page = login_page.IndexPage(self.dr) page.into_page() page.input_username_key('') page.input_password_key('') page.input_code_key('') page.click_button() time.sleep(7) self.assertEqual(u'', page.return_title()) #************************** porject *********************** self.dr.click('id->') time.sleep(1) self.dr.click('xpath->') time.sleep(3) self.dr.click('id->') time.sleep(2) #************************ 切换frame ********************** self.dr.switch_to_frame('id->') time.sleep(3) #************************* before check ******************** #TODO #************************** actions ************************ #actions:查询,重置,添加,编辑,上架,下架,复制,开启PC商场销售,关闭PC商场销售,开启微商城销售,关闭微商城销售,设置验票人,批量同步分销商品 self.dr.click('xpath->//*[@id="listForm"]/div[2]/a[1]') #添加 self.dr.click('xpath->//*[@id="listForm"]/div[2]/a[2]') #编辑 self.dr.click('id->shelvesButton') #上架 self.dr.click('id->underButton') #下架 self.dr.click('id->copyButton') #复制 self.dr.click('id->openPc') #开启PC商场销售 self.dr.click('id->closedPc') #关闭PC商场销售 self.dr.click('id->openB2c') #开启微商城销售 self.dr.click('id->closedB2c') #关闭微商城销售 self.dr.click('id->selectCheckTicketMember') #设置验票人 self.dr.click('xpath->//*[@id="listForm"]/div[2]/a[11]') #批量同步分销商品 #搜索: self.dr.type('name->productName', '******') #景区名称/商品名称 self.dr.type('name->productSn') #商品ID self.dr.type('name->areaName') #所在区域 self.dr.type('name->supplierName') #商户名称/账号 self.dr.click('xpath->//*[@id="listForm"]/div[1]/p/select[1]') #销售渠道 time.sleep(2) self.dr.click('xpath->//*[@id="listForm"]/div[1]/p/select[1]/option[2]' ) #第二个选项:微商城 self.dr.click('xpath->//*[@id="listForm"]/div[1]/p/select[2]') #是否上架 time.sleep(2) self.dr.click('xpath->//*[@id="listForm"]/div[1]/p/select[2]/option[2]' ) #第二选项,已上架 self.dr.click('xpath->//*[@id="listForm"]/div[1]/p/button[1]') #查询 self.dr.click('xpath->//*[@id="listForm"]/div[1]/p/button[2]') #重置 #设置页面显示数: self.dr.click('name->pageSize') time.sleep(2) self.dr.click('xpath->//*[@id="pageSize"]/option[2]') #第二个选项:20条/页 #指定页: self.dr.type('id->pageNumber', '****') #第**页 #上一页,下一页, self.dr.click('xpath->//*[@id="listForm"]/div[4]/span/span[1]') #首页 self.dr.click('xpath->//*[@id="listForm"]/div[4]/span/span[2]') #上一页 self.dr.click('xpath->//*[@id="listForm"]/div[4]/span/span[3]') #1 #后面的参数存在变化 #全选 self.dr.click('id->selectAll') #获取信息:[产品名],所在区域,销售渠道,今日售价,商户名称(账号),是否上架,创建日期,操作 self.dr.click('xpath->//*[@id="listTable"]/tbody/tr[2]/td[1]') #勾选 #tr[2]:表示面板列表,第一个门票信息,第一个是信息栏 #td[1]:表示该信息的第几个字段: self.dr.click( 'xpath->//*[@id="listTable"]/tbody/tr[2]/td[9]/a') #操作:下单 #上传文件 #同上传图片一样处理 #上传图片 #上传图片,正常上传 self.dr.click('id->') #点击上传button time.sleep(2) #1:本地上传 value = 'AUTO.exe (执行文件),内容为图片流' os.system(value) time.sleep(3) #2:选择 self.dr.click('') #选择目标 time.sleep(2) self.dr.click('') #点击确认 time.sleep(3) try: self.dr.get_element('') #此处为图片名 except: raise SystemError #上传图片,选择不支持格式的图片 self.dr.click('id->') #点击上传button time.sleep(2) value = 'AUTO.exe (执行文件),内容为非图片流,路径' os.system(value) time.sleep(3) try: self.dr.get_element('') #此处为图片名 #1:如果该次操作为第一次操作,则此处为报错 #2:如果该次操作为第二次操作,则此处为上次的信息 except: raise SystemError #上传图片,再次上传图片 self.dr.click('id->') time.sleep(2) value = 'AUTO.exe (执行文件),内容为图片流' os.system(value) time.sleep(3) self.dr.click('id->') time.sleep(2) value = 'AUTO_1.exe (执行文件),内容为图片流' os.system(value) time.sleep(3) #新增功能 #单独作为处理 #修改(受限于账号权限,不同账户管理不同信息,拥有归属关系才可被操作) self.dr.type('name->supplierName', 'admin') #搜索拥有‘账号admin’的信息 time.sleep(1) self.dr.click('xpath->//*[@id="listForm"]/div[1]/p/button[1]') #查询 time.sleep(2) text = self.dr.get_text( 'xpath->//*[@id="listForm"]/div[4]') #获取‘共 * 条记录’判断是否拥有归属关系 # print text text_code = text.encode('utf-8') #转换 # print text_code list = text_code.split(' ')[ 1] #提取 “ * ” * >= 3 即为存在两个。* = 2 需检查其他元素条件 * = 1 为提示栏 print list A = int(list) + 1 for i in range(1, A): xpath = '//*[@id="listTable"]/tbody/tr[' + str(i) + ']' text_1 = self.dr.get_text( 'xpath->//*[@id="listTable"]/tbody/tr[2]/td[6]/span')
def test_login_page(self): """ login """ #************************** login ************************ page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key('admin') page.input_password_key('123456') page.click_button() time.sleep(7) self.assertEqual(u'旅游公共信息服务平台', page.return_title()) #************************** porject *********************** self.dr.click('id->systemName') time.sleep(1) #1: # self.dr.click('xpath->/html/body/div[1]/ul/li[2]/ul/li[7]') # time.sleep(3) #2: a = '电商运营子系统' for i in range(10): path = 'xpath->/html/body/div[1]/ul/li[2]/ul/li[' + str(i) + ']' try: text = self.dr.get_text(path) text_1 = text[2:] text_code = text_1.encode('utf-8') if text_code == a: self.dr.click(path) break except: pass self.dr.click('id->790') #产品管理 time.sleep(2) self.dr.click('id->792') #门票 time.sleep(3) #************************ 切换frame ********************** self.dr.switch_to_frame('id->indIframe') time.sleep(3) #************************* before check ******************** #必填项:选择景区,选择票型,产品名称,服务特色,验票人,出售时间,兑换凭证,入园方式 #入园地址,短信模板,价格库存模式,验证消费日期,价格库存,退款说明,费用包含,使用说明 fake = Factory.create("zh_CN") #************************** actions ************************ self.dr.click('xpath->//*[@id="listForm"]/div[2]/a[1]') time.sleep(2) # 选择景区 self.dr.click('id->companyName') time.sleep(1) self.dr.click( 'xpath->/html/body/div[5]/div[2]/table/tbody/tr[1]') #选择景区 time.sleep(1) #验证点击后框体是否消失 try: element = self.dr.get_element( 'xpath->/html/body/div[5]/div[2]/table/tbody/tr[1]') if element is None: pass else: raise IOError except: pass # 选择票型 self.dr.click('id->companyType') time.sleep(2) self.dr.click('xpath->//*[@id="companyType"]/option[2]') #选择票型 time.sleep(1) # 产品名称(2-60字) # name = ramdon.ramdondata(61) self.dr.type('name->name', '1') #最短-1 # self.dr.type('name->name', name) #最长+1 #验证1:当前验证 #验证2:需保存后,验证 # 服务特色(可多选)(单次点击是选中,二次点击是取消) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/span/label' ) #随时退 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/span/span' ) #秒发码 # 验票人 self.dr.click('id->selectCheckTicketMember') #其他验票人 time.sleep(2) self.dr.click( 'xpath->//*[@id="listTable"]/tbody/tr[2]') #选择验票人(1) 单次为选中,二次为取消 time.sleep(1) self.dr.click('xpath->//*[@id="listTable"]/tbody/tr[3]') #选择验票人(2) time.sleep(1) # 出售时间 3个选项 #1:默认 #2: click-input self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[18]/td/label[2]') time.sleep(1) self.dr.click('id->saleStartTime') time.sleep(1) self.dr.click('id->dpTodayInput') #今天 time.sleep(2) self.dr.click('name->saleEndTime') time.sleep(1) self.dr.click('id->dpTodayInput') # 今天 time.sleep(2) # 兑换凭证 4个选项 #1:默认 确认短信 #2: self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[20]/td/label[2]' ) #身份证 #3: self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[20]/td/label[3]' ) #短信和身份证 #4: self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[20]/td/label[4]' ) #电子邮件确认单 # 入园方式 2个选项 #1:默认 #2: self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[2]') time.sleep(1) self.dr.type('name->pickupAddress', fake.address()) #地址 time.sleep(1) self.dr.type('name->pickupTime', fake.date(pattern="%Y-%m-%d")) #时间 # 入园地址 self.dr.type('name->passAddress', fake.address()) # 短信模板 self.dr.click('id->smsThemeId') time.sleep(1) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[23]/td/div/ul/li') time.sleep(2) #价格库存 # 价格库存模式 2个选项 选项不同,要求所填内容不同。 先为默认模式 #1:默认 日历价格库存模式 # 验证消费日期 #1:默认 #2: self.dr.click('xpath->//*[@id="consumeAuthen"]/td/label[2]') time.sleep(1) self.dr.click('name->beforeDay') time.sleep(1) self.dr.click( 'xpath->//*[@id="consumeAuthen"]/td/label[2]/select[1]/option[3]') time.sleep(1) self.dr.click('name->afterDay') time.sleep(1) self.dr.click( 'xpath->//*[@id="consumeAuthen"]/td/label[2]/select[2]/option[3]') time.sleep(1) # 价格库存 self.dr.click('id->batchset') #批量上架 time.sleep(2) self.dr.click('id->startDate_1') #时间段:开始时间 time.sleep(2) self.dr.click('id->dpTodayInput') #今天 time.sleep(2) self.dr.click('id->endDate_1') #时间段:结束时间 time.sleep(2) self.dr.click('id->dpTodayInput') #今天 time.sleep(2) self.dr.type('id->marketPrice_1', '100') #票面价 time.sleep(1) self.dr.type('id->stockNum_1', '100') #每日库存 time.sleep(1) self.dr.type('id->sellPrice_1', '100') #售卖价 time.sleep(1) self.dr.type('id->minimum_1', '100') #最少购买 time.sleep(1) self.dr.type('id->maximum_1', '100') #最多购买 time.sleep(1) self.dr.click('xpath->//*[@id="dateStock"]/div[2]/div[4]/input[1]') #批量下架: self.dr.click('id->batchunset') time.sleep(2) self.dr.click('id->startDate_3') #时间段:开始时间 time.sleep(2) self.dr.click('id->dpTodayInput') #今天 time.sleep(2) self.dr.click('id->endDate_3') #时间段:结束时间 time.sleep(2) self.dr.click('id->dpTodayInput') #今天 time.sleep(2) #星期:默认全选,选中即取消 self.dr.click( 'xpath->//*[@id="unstock"]/div[2]/div[3]/div/div[2]/table/tbody/tr[2]/td[2]/div/input[1]' ) #确定 self.dr.click('xpath->//*[@id="unstock"]/div[2]/div[4]/input[1]') #全部下架: self.dr.click('id->clearall') # 退款说明 self.dr.type('id->refundInfo', fake.text(max_nb_chars=200, ext_word_list=None)) # 费用包含 self.dr.type('id->feeInfo', fake.text(max_nb_chars=200, ext_word_list=None)) # 使用说明 self.dr.switch_to_frame( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[43]/td/div/div[2]/iframe' ) #iframe time.sleep(3) self.dr.type('xpath->/html/body', fake.text(max_nb_chars=200, ext_word_list=None)) #回到原frame self.dr.switch_to_frame_out() time.sleep(3) self.dr.switch_to_frame('id->indIframe') time.sleep(3) #价格库存:第二种:总库存模式 #验证消费日期: 3个选项 #价格库存 self.dr.click('id->modifyprice') #编辑价格 time.sleep(2)
def test_login_page(self): """ login """ #************************** login ************************ page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key('admin') page.input_password_key('123456') page.click_button() time.sleep(7) self.assertEqual(u'旅游公共信息服务平台', page.return_title()) #************************** porject *********************** self.dr.click('id->systemName') time.sleep(1) self.dr.click('xpath->/html/body/div[1]/ul/li[2]/ul/li[7]') time.sleep(3) self.dr.click('id->790') #产品管理 time.sleep(2) self.dr.click('id->792') #门票 time.sleep(3) #************************ 切换frame ********************** self.dr.switch_to_frame('id->indIframe') time.sleep(3) #************************* before check ******************** text_before = self.dr.get_text('xpath->//*[@id="listForm"]/div[4]') #************************** actions ************************ self.dr.click('xpath->//*[@id="listForm"]/div[2]/a[1]') #点击添加 time.sleep(2) #基本信息 self.dr.click('id->companyName') time.sleep(1) self.dr.click( 'xpath->/html/body/div[5]/div[2]/table/tbody/tr[1]') #选择景区 time.sleep(1) self.dr.click('id->companyType') time.sleep(2) self.dr.click('xpath->//*[@id="companyType"]/option[2]') #选择票型 time.sleep(1) self.dr.type('name->name', '123321') #产品名称 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/span/label' ) #服务特色 self.dr.click('id->appkeyType') time.sleep(2) self.dr.click('xpath->//*[@id="appkeyType"]/option[2]') time.sleep(1) self.dr.type('name->outSn', '123') #对接接口 self.dr.click('id->supplierName') time.sleep(2) self.dr.click('xpath->/html/body/div[6]/div[2]/table/tbody/tr[1]') #商户 time.sleep(1) self.dr.click('id->selectCheckTicketMember') #其他验票人 time.sleep(2) self.dr.click('xpath->//*[@id="listTable"]/tbody/tr[2]') #验票人 time.sleep(1) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/div/div[2]/ul/li/div/a' ) time.sleep(2) os.system('D:\WinClick4.exe') #商品头图 time.sleep(2) self.dr.click("id->logoUploadBox_1_1") time.sleep(2) os.system('D:\WinClick4.exe') #商品封面图 time.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[11]/td/label[1]/label[1]' ) #销售渠道 time.sleep(1) #预订设置 self.dr.type('name->autoCancelTime', '3') #取消设置 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/td/label[3]' ) #联系人信息 【3】:拼音 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[15]/th/label' ) #客人信息 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[16]/td/label[2]/label' ) #时间限制 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[17]/th/label/label' ) #手机限制 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[18]/th/label/label' ) #身份证限制 self.dr.click('name->displayWay') #出售时间 * #入园设置 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[2]' ) #兑换凭证 * self.dr.click('name->passType') #入园方式 * self.dr.type('name->passAddress', '*******') #入园地址 * self.dr.click('id->smsThemeId') time.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[24]/td/div/ul/li[1]' ) #短信模板 time.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[25]/td/label[2]' ) #入园次数 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[26]/td/label[2]' ) #入园人数 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[27]/th/label' ) #入园时间限制 time.sleep(2) self.dr.type('name->enterSightDelayBookHour', '1') #小时 time.sleep(1) self.dr.type('name->enterSightDelayBookMinute', '1') #分钟 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[28]/th/label' ) #入园时间 time.sleep(1) self.dr.type('name->useTimeRangeStart', '18:00') #前 time.sleep(1) self.dr.type('name->useTimeRangeEnd', '18:30') #后 #价格库存 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[30]/td/label[1]' ) #价格库存模式 1;日历模式 2:总库存模式 # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[30]/td/label[2]') #验证消费日期 self.dr.click('xpath->//*[@id="consumeAuthen"]/td/label[1]') #价格库存 #TODO #商品调价 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[34]/td/label[2]') #退款信息 #退狂设置 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[36]/td/label[1]' ) #可以退款 #退款审核 self.dr.click('xpath->//*[@id="refundAudit"]/td/label[1]') #需要审核 #退款日期 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[38]/td/label[1]' ) #限制 #退款说明 self.dr.type('name->refundInfo', '*************') #产品说明 #费用包含 self.dr.type('name->feeInfo', '************') #费用不含 self.dr.type('name->feeExclude', '**********') #使用说明 self.dr.switch_to_frame( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[43]/td/div/div[2]/iframe' ) #iframe time.sleep(3) self.dr.type('xpath->/html/body', '************') self.dr.switch_to_frame_out() time.sleep(3) self.dr.switch_to_frame('id->indIframe') time.sleep(3) #保存/返回 self.dr.click( 'xpath->//*[@id="inputForm"]/table[2]/tbody/tr/td/input[1]') #************************ check after ************************ text = self.dr.get_element('xpath->//*[@id="listForm"]/div[4]') if text != None: text_after = text.text if text_after == text_before: pass else: raise SyntaxWarning else: raise SystemError
def test_login_page(self): """ login """ #************************** login ************************ page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key('admin') page.input_password_key('123456') page.click_button() time.sleep(7) self.assertEqual(u'旅游公共信息服务平台', page.return_title()) #************************** porject *********************** self.dr.click('id->systemName') time.sleep(1) self.dr.click('xpath->/html/body/div[1]/ul/li[2]/ul/li[7]') time.sleep(3) self.dr.click('id->790') #产品管理 time.sleep(2) self.dr.click('id->892') #租车 time.sleep(3) #************************ 切换frame ********************** self.dr.switch_to_frame('id->indIframe') time.sleep(3) #************************* before check ******************** # text_before = self.dr.get_text('xpath->//*[@id="listForm"]/div[4]') #获取当前页面条数显示信息 # print text_before #************************** actions ************************ self.dr.click('xpath->//*[@id="listForm"]/div[2]/a[1]') #点击添加 self.dr.sleep(3) #产品名称 * self.dr.type('name->name', '***') #产品卖点 * self.dr.type('name->sellingPoint', '***') #出发地 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[4]/td/select[1]') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[4]/td/select[1]/option[4]' ) #省 self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[4]/td/select[2]') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[4]/td/select[2]/option[2]' ) #市 self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[4]/td/select[3]') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[4]/td/select[3]/option[2]' ) #区/县 self.dr.sleep(2) #目的地 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/select[1]') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/select[1]/option[4]' ) #省 self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/select[2]') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/select[2]/option[2]' ) #市 self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/select[3]') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/select[3]/option[2]' ) #区/县 self.dr.sleep(2) #所在地 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[6]/td/select[1]') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[6]/td/select[1]/option[4]' ) self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[6]/td/select[2]') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[6]/td/select[2]/option[2]' ) self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[6]/td/select[3]') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[6]/td/select[3]/option[2]' ) self.dr.sleep(2) #商户 self.dr.click('id->supplierName') self.dr.sleep(2) self.dr.click('xpath->/html/body/div[2]/div[2]/table/tbody/tr[1]') self.dr.sleep(2) #验票人 # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[8]/td/label') self.dr.click('id->selectCheckTicketMember') self.dr.sleep(2) self.dr.switch_to_frame('xpath->/html/body/div[4]/div[3]/div/iframe') self.dr.sleep(3) self.dr.click('id->selectAll') #全选 self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click('xpath->/html/body/div[4]/div[4]/input[1]') #确定 # self.dr.click('xpath->/html/body/div[4]/div[4]/input[2]')#关闭 self.dr.sleep(2) #销售渠道 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[1]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[2]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[3]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[4]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[5]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[2]') #车辆图片 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[10]/td/div/div[2]/ul/li/div/a' ) self.dr.sleep(2) os.system('D:\WinClick2.exe') self.dr.sleep(3) #商品封面图 self.dr.click('id->logoUploadBox_1_1') self.dr.sleep(3) os.system('D:\WinClick2.exe') self.dr.sleep(3) #取消设置 self.dr.type('name->autoCancelTime', '***') #联系人信息 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/td/label[3]') self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/td/label[4]') self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/td/label[5]') self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/td/label[6]') #预订限制 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[15]/td/label[1]') self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[15]/td/label[2]/input[1]' ) self.dr.type('name->enterSightAdvanceDay', '***') self.dr.click('name->enterSightAdvanceHour') self.dr.sleep(2) self.dr.click('xpath->//*[@id="ADVANCE_BOOK_TIME"]/option[1]') self.dr.sleep(2) self.dr.click('name->enterSightAdvanceMinute') self.dr.sleep(2) self.dr.click('xpath->//*[@id="ADVANCE_BOOK_TIME"]/option[1]') self.dr.sleep(2) #短信模板 * self.dr.click('id->smsThemeId') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[16]/td/div/ul/li[1]' ) self.dr.sleep(2) #车型等级 * self.dr.click( 'xpath->//*[@id="carGrade"]/tbody/tr/td[1]/button') #选择车型 self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="carGrade"]/tbody/tr/td[1]/dl/dd[1]/input[1]' ) #4座及以下 self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="carGrade"]/tbody/tr/td[1]/dl/dd[2]/button[1]' ) #确定 self.dr.sleep(2) self.dr.type('xpath->//*[@id="carGrade"]/tbody/tr/td[2]/input', '***') #备注 # self.dr.click('xpath->//*[@id="carGrade"]/tbody/tr/td[3]/button')#删除 self.dr.sleep(2) #套餐设置 * # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[19]/td/div[1]/button')#添加新套餐 self.dr.type('name->meal_name', '***') #套餐名称 self.dr.type('name->sale_price', '***') #租赁量 self.dr.type('name->market_price', '***') #市场价 self.dr.type('name->min_order', '***') #最小租赁量 self.dr.type('name->max_order', '***') #最多租赁量 self.dr.type('name->repertory', '***') #库存 #有效期 * self.dr.click('id->skuStartDate') #起始 self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(3) self.dr.click('id->dpTodayInput') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click('name->skuEndDate') #截止 self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(3) self.dr.click('id->dpTodayInput') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) #费用包含 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[1]' ) #车辆使用费 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[2]' ) #司导 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[3]' ) #拥堵 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[4]' ) #邮费 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[5]' ) #空驶 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[6]' ) #司导餐补 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[7]' ) #路桥费 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[8]' ) #停车费 #出售时间 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[22]/td/label[1]' ) #默认 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[22]/td/label[2]/input[1]' ) #设定 self.dr.sleep(1) self.dr.click('id->saleStartTime') #起始 self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(3) self.dr.click('id->dpTodayInput') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click('name->saleEndTime') #截止 self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(3) self.dr.click('id->dpTodayInput') self.dr.sleep(2) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) # 放入仓库 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[22]/td/label[3]') #退款设置 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[24]/td/label[1]' ) #默认 # self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[24]/td/label[2]') #退款审核 self.dr.click('xpath->//*[@id="refundAudit"]/td/label[1]') self.dr.click('xpath->//*[@id="refundAudit"]/td/label[2]') #默认 #退款说明 * self.dr.type('name->refundInfo', '***') #使用说明 self.dr.type('name->remind', '***') #温馨提示 self.dr.type('name->memo', '***')
def test_login_page(self): """ login """ #************************** login ************************ page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key('admin') page.input_password_key('123456') page.click_button() time.sleep(7) self.assertEqual(u'旅游公共信息服务平台', page.return_title()) #************************** porject *********************** self.dr.click('id->systemName') time.sleep(1) self.dr.click('xpath->/html/body/div[1]/ul/li[2]/ul/li[7]') time.sleep(3) self.dr.click('id->790') #产品管理 time.sleep(2) self.dr.click('id->792') #门票 time.sleep(3) #************************ 切换frame ********************** self.dr.switch_to_frame('id->indIframe') time.sleep(3) #************************* before check ******************** text_before = self.dr.get_text( 'xpath->//*[@id="listForm"]/div[4]') #获取当前页面条数显示信息 print text_before #************************** actions ************************ self.dr.click('xpath->//*[@id="listForm"]/div[2]/a[1]') #点击添加 self.dr.sleep(3) #选择景区 * self.dr.click('id->companyName') #打开景区列表 self.dr.sleep(2) self.dr.click( 'xpath->/html/body/div[5]/div[2]/table/tbody/tr[1]') #景区列表第一个 #2: 输入景区名 self.dr.type('xpath->/html/body/div[5]/div[1]/input', '******') # * 搜索条件 self.dr.click('xpath->/html/body/div[5]/div[1]/a') #搜索键 self.dr.click('xpath->/html/body/div[5]/div[1]/button') #清空 #选择票型 * 此受限于选择景区的选择 self.dr.click('id->companyType') #打开票型列表 self.dr.sleep(2) self.dr.click('xpath->//*[@id="companyType"]/option[2]') #列表第二个 #新增票型 self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/a') #产品名称 * (2-60字) self.dr.type('name->name', '*******') # * 为输入数据 #服务特色 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/span/label' ) #随时退 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/span/span' ) #秒发码 #对接接口 self.dr.click('id->appkeyType') #选择对接接口,点击 self.dr.sleep(2) self.dr.click('xpath->//*[@id="appkeyType"]/option[2]') #列表第二个 #输入 self.dr.type('name->outSn', '****') #* 为输入数据 #商户 self.dr.click('id->supplierName') #打开列表 self.dr.sleep(2) self.dr.click( 'xpath->/html/body/div[6]/div[2]/table/tbody/tr[1]') #第二个 #2: self.dr.type('xpath->/html/body/div[6]/div[1]/input', '*****') #输入搜索条件 self.dr.type('xpath->/html/body/div[6]/div[1]/a') #点击搜索 self.dr.click('xpath->/html/body/div[6]/div[1]/button') #清空 #验票人 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[8]/td/label' ) #用户可验票 self.dr.click('id->selectCheckTicketMember') #其他验票人 #切iframe self.dr.switch_to_frame('id->browserFrame1535075562203244887') self.dr.sleep(3) #选择验票人: self.dr.click('id->selectAll') #全选 self.dr.click('xpath->//*[@id="listTable"]/tbody/tr[2]') #选择第一个 self.dr.click('xpath->/html/body/div[9]/div[4]/input[1]') #确定 self.dr.click('xpath->/html/body/div[9]/div[4]/input[2]') #关闭 self.dr.type('id->searchValue') #输入条件 self.dr.click('xpath->//*[@id="listForm"]/div[1]/button') #点击查询 #回到main frame self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) #商品头图 (单次) self.dr.click('xpath->/html/body/div[8]') #点击上传新图片 self.dr.sleep(3) os.system('D:\WinClick3.exe') #路径 self.dr.sleep(3) #************************ check after ************************ pass
def test_login_page(self): """ login """ #************************** login ************************ page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key('admin') page.input_password_key('123456') page.click_button() time.sleep(7) self.assertEqual(u'旅游公共信息服务平台', page.return_title()) #************************** porject *********************** self.dr.click('id->systemName') time.sleep(1) self.dr.click('xpath->/html/body/div[1]/ul/li[2]/ul/li[7]') time.sleep(3) self.dr.click('id->790') #产品管理 time.sleep(2) self.dr.click('id->890') #秒杀 time.sleep(3) #************************ 切换frame ********************** self.dr.switch_to_frame('id->indIframe') time.sleep(3) #************************* before check ******************** text_before = self.dr.get_text( 'xpath->//*[@id="listForm"]/div[4]') #获取当前页面条数显示信息 print text_before #************************** actions ************************ self.dr.click('xpath->//*[@id="listForm"]/div[2]/a[1]') #点击添加 self.dr.sleep(3) #商品名称 * self.dr.type('name->name', '***') #所属地区 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/span/select[1]' ) self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/span/select/option[4]' ) #省 self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/span/select[2]' ) self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/span/select[2]/option[2]' ) #市 self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/span/select[3]' ) self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/span/select[3]/option[2]' ) #县 #对接接口 self.dr.click('id->appkeyType') self.dr.sleep(2) self.dr.click('xpath->//*[@id="appkeyType"]/option[2]') self.dr.type('name->outSn', '***') #商户 self.dr.click('id->supplierName') self.dr.sleep(2) self.dr.click('xpath->/html/body/div[6]/div[2]/table/tbody/tr[1]') #验票人 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[6]/td/label') self.dr.click('id->selectCheckTicketMember') #商品图片 * self.dr.click('xpath->/html/body/div[8]') self.dr.sleep(2) os.system('D:\WinClick2.exe') #****** self.dr.sleep(2) #商品封面图 self.dr.click('id->logoUploadBox_1_1') self.dr.sleep(2) os.system('D:\WinClick4.exe') #****** self.dr.sleep(2) #销售渠道 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[1]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[2]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[3]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[4]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[1]/label[5]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/label[2]') #抢购时间 * self.dr.click('id->saleStartTime') self.dr.sleep(2) #TODO self.dr.click('id->saleEndTime') self.dr.sleep(2) #TODO #取消设置 self.dr.type('name->autoCancelTime', '***') #所需信息 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/label[3]') #手机限购 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/th/label') self.dr.click('name->limitTimeType_MOBILE') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/td/label/select[1]/option[1]' ) self.dr.sleep(2) self.dr.click('name->limitTimeNum_MOBILE') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/td/label/select[2]/option[1]' ) self.dr.sleep(2) self.dr.type('name->limitAmountNum_MOBILE', '***') #身份证限购 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[15]/th/label') self.dr.click('name->limitTimeType_IDCARD') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[15]/td/label/select[1]/option[1]' ) self.dr.sleep(2) self.dr.click('name->limitTimeNum_IDCARD') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[15]/td/label/select[2]/option[1]' ) self.dr.sleep(2) self.dr.type('name->limitAmountNum_IDCARD', '***') #短信模板 * self.dr.click('id->smsThemeId') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[16]/td/div/ul/li[1]' ) #运费模板 self.dr.click('id->deliverTemplateId') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[17]/td/div/ul/li[2]' ) #价格库存 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[18]/td/label[1]') self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[18]/td/label[2]') #验证消费日期 * self.dr.click('xpath->//*[@id="consumeAuthen"]/td/label[1]') self.dr.click('id->consumeAuthenType_OUTSIDE_DATE') self.dr.click('name->beforeDay') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="consumeAuthen"]/td/label[2]/select[1]/option[2]') self.dr.sleep(2) self.dr.click('name->afterDay') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="consumeAuthen"]/td/label[2]/select[2]/option[2]') #价格库存 * #TODO #时间限制 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[22]/td/label[1]') self.dr.click( 'xpaht->//*[@id="inputForm"]/table[1]/tbody/tr[22]/td/label[2]/label' ) self.dr.type('name->enterSightAdvanceDay', '***') self.dr.click('name->enterSightAdvanceHour') self.dr.sleep(2) self.dr.click('name->//*[@id="ADVANCE_BOOK_TIME"]/option[1]') self.dr.sleep(2) self.dr.click('name->enterSightAdvanceMinute') self.dr.sleep(2) self.dr.click('xpath->//*[@id="ADVANCE_BOOK_TIME"]/option[1]') #退款设置 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[23]/td/label[1]/input[1]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[23]/td/label[1]/select[1]' ) self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[23]/td/label[1]/select[1]/option[1]' ) self.dr.sleep(2) self.dr.click('id->refundChargeType') self.dr.sleep(2) self.dr.click('xpath->//*[@id="refundChargeType"]/option[1]') self.dr.sleep(2) self.dr.type('id->refundCharge', '***') self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[23]/td/label[2]') #退款审核 self.dr.click('xpath->//*[@id="refundAudit"]/td/label[1]') self.dr.click('xpath->//*[@id="refundAudit"]/td/label[2]') #退款说明 * self.dr.type('name->refundInfo', '***') #抢购须知 * self.dr.switch_to_frame( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[27]/td/div/div[2]/iframe' ) self.dr.sleep(3) self.dr.type('xpath->/html/body', '***') self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) #商品描述 * self.dr.switch_to_frame( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[28]/td/div/div[2]/iframe' ) self.dr.sleep(3) self.dr.type('xpath->/html/body', '***') self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) #使用说明 * self.dr.switch_to_frame( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[29]/td/div/div[2]/iframe' ) self.dr.sleep(3) self.dr.type('xpath->/html/body', '***') self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) #保存 self.dr.click( 'xpath->//*[@id="inputForm"]/table[2]/tbody/tr/td/input[1]') #返回 self.dr.click( 'xpath->//*[@id="inputForm"]/table[2]/tbody/tr/td/input[2]')
def test_login_page(self): """ login """ #************************** login ************************ page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key('admin') page.input_password_key('123456') page.click_button() time.sleep(7) self.assertEqual(u'旅游公共信息服务平台', page.return_title()) #************************** porject *********************** self.dr.click('id->systemName') time.sleep(1) self.dr.click('xpath->/html/body/div[1]/ul/li[2]/ul/li[7]') time.sleep(3) self.dr.click('id->790') #产品管理 time.sleep(2) self.dr.click('id->885') #年卡 time.sleep(3) #************************ 切换frame ********************** self.dr.switch_to_frame('id->indIframe') time.sleep(3) #************************* before check ******************** text_before = self.dr.get_text( 'xpath->//*[@id="listForm"]/div[4]') #获取当前页面条数显示信息 print text_before #************************** actions ************************ self.dr.click('xpath->//*[@id="listForm"]/div[2]/a[1]') #点击添加 self.dr.sleep(3) #产品名称 * self.dr.type('name->name', '***') #年卡内容 self.dr.type('id->zy', '***') #资源 self.dr.click('name->companyType_') #票型 self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/table/tbody/tr[2]/td/select/option' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/table/tbody/tr[2]/td/button' ) #重置 self.dr.type('name->price_', '***') #价格 self.dr.type('name->remind_', '***') #使用细则 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/table/tbody/tr[5]/td/span/label[1]' ) #无限次 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/table/tbody/tr[5]/td/span/label[2]' ) #免一次 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/table/tbody/tr[5]/td/span/label[3]/label' ) #免 self.dr.type( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/table/tbody/tr[5]/td/span/label[3]/input', '***') #**次 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/table/tbody/tr[5]/td/span/label[4]/label' ) #特惠 self.dr.type( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/table/tbody/tr[5]/td/span/label[4]/input', '***') #***元/次 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/table/tbody/tr[5]/td/span/label[5]/label' ) #特惠 self.dr.type('name->specialPrice_', '***') #***元/次 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/table/tbody/tr[5]/td/span/label[5]/input[2]', '***') #限***次 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/table/tbody/tr[1]/td/div/input' ) #增加年卡内容 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[3]/td/table/tbody/tr[1]/td/div/label[2]/b' ) #删除 #商户 self.dr.click('id->supplierName') self.dr.sleep(2) self.dr.click('xpath->/html/body/div[4]/div[2]/table/tbody/tr[1]') #验票人 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/label') self.dr.click('id->selectCheckTicketMember') #商品头图 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[6]/td/div/div/ul/li/div/a' ) self.dr.sleep(3) os.system('D:\WinClick2.exe') #******** self.dr.sleep(3) #商品封面图 self.dr.click('id->logoUploadBox_1_1') self.dr.sleep(3) os.system('D:\WinClick3.exe') #**** self.dr.sleep(3) #销售渠道 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[8]/td/label[1]/label[1]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[8]/td/label[1]/label[2]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[8]/td/label[1]/label[3]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[8]/td/label[1]/label[4]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[8]/td/label[1]/label[5]' ) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[8]/td/label[2]') #取消设置 self.dr.type('name>autoCancelTime', '***') #联系人信息 #客人信息 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[12]/th/label' ) #客人信息 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[12]/td/span/label[1]' ) #仅需要 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[12]/td/span/label[2]' ) #需要 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[12]/td/span/label[3]/label' ) #每 self.dr.type('id->passengerInfoPerNumInput', '***') #***个 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[12]/td/div/label[1]' ) #姓名 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[12]/td/div/label[2]' ) #手机 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[12]/td/div/label[3]' ) #身份证 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[12]/td/div/label[4]' ) #护照 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[12]/td/div/label[5]' ) #台胞证 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[12]/td/div/label[6]' ) #港澳通行证 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[12]/td/div/label[7]/label' ) self.dr.type('name->needPassengerInfoOther1', '***') self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[12]/td/div/label[8]/label' ) self.dr.type('name->needPassengerInfoOther2', '***') #地区限制 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[13]/td/input[1]') self.dr.sleep(2) self.dr.click('name->areaLimit_select') #时间限制 self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[1]/td/label[1]') self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[1]/td/label[2]/label' ) self.dr.type('name->enterSightAdvanceDay', '***') self.dr.click('name->enterSightAdvanceHour') self.dr.sleep(2) self.dr.click('xpath->//*[@id="ADVANCE_BOOK_TIME"]/option[1]') self.dr.sleep(2) self.dr.click('name->enterSightAdvanceMinute') self.dr.sleep(2) self.dr.click('xpath->//*[@id="ADVANCE_BOOK_TIME"]/option[1]') self.dr.sleep(2) #手机限制 self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[2]/th/label') self.dr.click('name->limitTimeType_MOBILE') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[2]/td/select[1]/option[1]' ) self.dr.sleep(2) self.dr.click('name->limitTimeNum_MOBILE') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[2]/td/select[2]/option[1]' ) self.dr.sleep(2) self.dr.type('name->limitAmountNum_MOBILE', '***') #身份证限制 self.dr.sleep( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[3]/th/label') self.dr.click('name->limitTimeType_IDCARD') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[3]/td/select[1]/option[1]' ) self.dr.sleep(2) self.dr.click('name->limitTimeNum_IDCARD') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[3]/td/select[2]/option[1]' ) self.dr.sleep(2) self.dr.type('name->limitAmountNum_IDCARD', '***') #出售时间 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[4]/td/label[1]') self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[4]/td/label[2]/input[1]' ) self.dr.click('id->saleStartTime') self.dr.sleep(2) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(3) self.dr.click('id->dpTodayInput') self.dr.sleep(3) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click('name->saleEndTime') self.dr.sleep(1) self.dr.switch_to_frame('xpath->//*[@id="_my97DP"]/iframe') self.dr.sleep(3) self.dr.click('xpath->/html/body/div/div[6]/input[2]') self.dr.sleep(1) self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') self.dr.sleep(3) self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[4]/td/label[3]') #兑换凭证 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[6]/td/label[1]' ) #确认短信 self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[6]/td/label[2]' ) #身份证 self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[6]/td/label[3]' ) #短信和身份证 self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[6]/td/label[4]' ) #电子邮件 #使用方式 * self.dr.type('name->pickupAddress', '***') self.dr.type('name->pickupTime', '***') #使用地址 * self.dr.type('name->passAddress', '***') #短信模板 * self.dr.click('id->smsThemeId') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[9]/td/div/ul/li[1]') #价格库存模式(默认) * #价格库存 * #编辑价格 self.dr.click('id->modifyprice') self.dr.sleep(2) self.dr.click('id->startDate_2') #TODO self.dr.click('id->endDate_2') #TODO self.dr.type('id->marketPrice_2', '***') #票面价 self.dr.type('id->stockNum_2', '***') #整体库存 self.dr.type('id->sellPrice_2', '***') #售卖价 self.dr.type('id->minimum_2', '***') #最少购买 self.dr.type('id->maximum_2', '***') #最多购买 self.dr.click( 'xpath->//*[@id="totalStock"]/div[2]/div[4]/input[1]') #保存 self.dr.click( 'xpath->//*[@id="totalStock"]/div[2]/div[4]/input[2]') #取消 #价格库存 * #商品调价 self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[14]/td/label[1]') self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[14]/td/label[2]') #退款设置 #可以退款: self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[16]/td/label[1]/input[1]' ) #列表1: self.dr.click('name->partRefund') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[16]/td/label[1]/select[1]/option[1]' ) #列表2: self.dr.click('id->refundChargeType') self.dr.sleep(2) self.dr.click('xpath->//*[@id="refundChargeType"]/option[1]') #输入 self.dr.type('id->refundCharge', '***') #不可退款 self.dr.click( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[16]/td/label[2]') #退款审核 self.dr.click('xpath->//*[@id="refundAudit"]/td/label[1]') self.dr.click('xpath->//*[@id="refundAudit"]/td/label[2]') #退款说明 * self.dr.type('name->refundInfo', '***') #购买条款 * self.dr.switch_to_frame( 'xpath->//*[@id="inputForm"]/table[3]/tbody/tr[20]/td/div/div[2]/iframe' ) self.dr.sleep(3) self.dr.type('xpath->/html/body', '***') self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('id->indIframe') #保存 self.dr.click( 'xpath->//*[@id="inputForm"]/table[4]/tbody/tr/td/input[1]') #返回 self.dr.click( 'xpath->//*[@id="inputForm"]/table[4]/tbody/tr/td/input[2]')
def test_login_page(self): """ login """ #************************** login ************************ page = login_page.IndexPage(self.dr) page.into_page('http://192.168.0.65:8010/') page.input_username_key('admin') page.input_password_key('123456') page.click_button() time.sleep(7) self.assertEqual(u'旅游公共信息服务平台', page.return_title()) #************************** porject *********************** self.dr.click('id->systemName') time.sleep(1) self.dr.click('xpath->/html/body/div[1]/ul/li[2]/ul/li[7]') time.sleep(3) self.dr.click('id->790') #产品管理 time.sleep(2) self.dr.click('id->794') #特产 time.sleep(3) #************************ 切换frame ********************** self.dr.switch_to_frame('id->indIframe') time.sleep(3) self.dr.click('xpath->//*[@id="listForm"]/div[2]/a[1]') self.dr.sleep(3) # ********************** actions ***************************** # 商品名称(1-60字) self.dr.type('name->name' '***') #商品名称 #商品卖点 * self.dr.type('name->sellingPoint', '***') #商品属性 #品牌 self.dr.click('id->specialtyBrand') self.dr.sleep(1) self.dr.click('xpath->//*[@id="specialtyBrand"]/option[2]') #生成许可证编号 self.dr.type('name->licenseNo', '*****') #厂名 self.dr.type('name->factoryName', '***') #厂家联系方式 self.dr.type('name->contactWay', '***') #进货日期 self.dr.type('name->inStockStartDate', '***') #可以直接输入也可以按照日期的方式选择。 #产地 self.dr.click('name->areaCity_select') self.dr.sleep(1) self.dr.click( 'xpath->//*[@id="id_propertytable"]/tbody/tr[1]/td[2]/span/select/option[2]' ) #第二个选项 #产品标准号 self.dr.type('name->standardNo', '***') #厂址 self.dr.type('name->factoryAddress', '***') #特产类型 self.dr.click('id->productClassId') self.dr.sleep(1) self.dr.click( 'xpath->//*[@id="id_propertytable"]/tbody/tr[4]/td[2]/div/ul/li[2]' ) #第二个选项 #添加类型 self.dr.click('xpath->//*[@id="id_propertytable"]/tbody/tr[4]/td[2]/a') #生产日期 self.dr.type('name->inStockStartDate', '***') #可以直接输入也可以按照日期的方式选择。 #发货地址 * self.dr.click('name->startAreaCity_select') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/select/option[2]' ) #第二个选项 #省级目标选择后,才会出现下级列表选择 self.dr.click('name->startAreaCity_select') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/select[2]/option[2]' ) #第二个选项 #市级目标选择后,出现最后一级目标 self.dr.click('name->startAreaCity_select') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[5]/td/select[3]/option[2]' ) #第二个选项 #商户 self.dr.click('id->supplierName') self.dr.sleep(2) self.dr.click('xpath->/html/body/div[3]/div[2]/table/tbody/tr[1]') #验票人 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[7]/td/label' ) #默认是勾选装填 self.dr.click('id->selectCheckTicketMember') #切frame #选择 #确定 #切回frame #销售驱动 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[8]/td/label[1]/label[1]' ) #C端 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[8]/td/label[2]' ) #PC商场 #特产图片 * self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[9]/td/div/div[2]/ul/li/div/a' ) self.dr.sleep(3) os.system('D:\WinClick4.exe') #AUTO执行文件 self.dr.sleep(3) #商品封面图 self.dr.click('id->logoUploadBox_1_1') self.dr.sleep(3) os.system('D:\WinClick3.exe') #AUTO执行文件 self.dr.sleep(3) #取消设置 self.dr.type('id->autoCancelTime', '***') #联系人信息(默认三个勾选) #手机限制 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[14]/th/label') self.dr.sleep(2) self.dr.type('name->limitAmountNum_MOBILE', '***') #出售时间 * (默认勾选:1) #1 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[15]/td/label[1]') #2 self.dr.click('name->displayWay') self.dr.sleep(1) self.dr.click('id->saleStartTime') #起始 #时间选择 self.dr.click('id->saleEndTime') #截止 #时间选择 #短信模板 * self.dr.click('id->smsThemeId') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[16]/td/div/ul/li[1]' ) #第二个选项 #新增 self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[16]/td/a') #运费模板 * self.dr.click('id->deliverTemplateId') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[17]/td/div/ul/li[1]' ) #新增 self.dr.click('xpath->//*[@id="inputForm"]/table[1]/tbody/tr[17]/td/a') #商品规格 * #一级规格 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[19]/td/table/tbody/tr[1]/td/select' ) self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[19]/td/table/tbody/tr[1]/td/select/option[2]' ) #二级规格 self.dr.type('id->sku_tagsinput', '***') #价格库存 * self.dr.click('id->batchset') self.dr.sleep(2) self.dr.type('id->marketPrice_2', '***') #市场价 self.dr.type('id->stockNum_2', '***') #整体库存 self.dr.type('id->sellPrice_2', '***') #售卖价 self.dr.type('id->minimum_2', '***') #最少购买 self.dr.type('id->maximum_2', '***') #最多购买 self.dr.click('xpath->//*[@id="skuStock"]/div[2]/div[4]/input[1]') #保存 self.dr.click('xpath->//*[@id="skuStock"]/div[2]/div[4]/input[2]') #取消 #商品调价 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[1]' ) #是(默认) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[21]/td/label[2]' ) #否 #退款设置 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[23]/td/label[1]' ) #可以退款(默认) #列表:1 self.dr.click('name->partRefund') self.dr.sleep(2) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[23]/td/select[1]/option[1]' ) #默认 #列表:2 self.dr.click('id->refundChargeType') time.sleep(2) self.dr.click('xpath->//*[@id="refundChargeType"]/option[1]') #默认 #输入: self.dr.type('id->refundCharge', '***') #不可退款 self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[23]/td/label[2]') #退款审核(选择不可退款后,无此项) self.dr.click('xpath->//*[@id="refundAudit"]/td/label[1]') #需要审核 self.dr.click('xpath->//*[@id="refundAudit"]/td/label[2]') #不需要审核(默认) #售后服务(可多选) self.dr.click( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[25]/td/label[1]' ) #第一个:提供发票。label[1]:依次 #商品描述 self.dr.switch_to_frame( 'xpath->//*[@id="inputForm"]/table[1]/tbody/tr[27]/td/div/div[2]/iframe' ) self.dr.sleep(3) self.dr.type('xpath->/html/body', '***') #保存 self.dr.click( 'xpath->//*[@id="inputForm"]/table[2]/tbody/tr/td/input[1]') #返回 self.dr.click( 'xpath->//*[@id="inputForm"]/table[2]/tbody/tr/td/input[2]')
def test_actions_add_001(self): """ 用例编号:actions_add_001 模块:add 功能点:新增(全) """ #****************************** login ****************************** page = login_page.IndexPage(self.dr) page.into_page('') #URL page.input_username_key('') #账户 page.input_password_key('') #密码 page.input_code_key('') #验证码 page.click_button() #登录 time.sleep(7) #****************************** login check ****************************** self.assertEqual(u'', page.return_title()) #网站title #****************************** porject ****************************** self.dr.click('') self.dr.sleep(3) #****************************** 切换frame ****************************** self.dr.switch_to_frame('') self.dr.sleep(3) #****************************** before check(获取信息总数) ****************************** text_before = self.dr.get_text('') #共 * 条记录 共*页 # print text_before #****************************** actions add ****************************** """actions_add""" #TODO #1: input self.dr.type('***->***', '***') #原来的文本中有数据使用:clear_type #2: list self.dr.click('***->***') #点击list 触发下拉列表然后在选择 self.dr.sleep(2) #此处的 sleep = time.sleep(2) self.dr.click('***->***') self.dr.sleep(2) #3: select self.dr.click('***->***') #已有选择项,使用此方法,需新增的需先增加选择 #4.1: upload (本地上传) self.dr.click('***->***') #上传按键 self.dr.sleep(3) os.system('') #AutoIt 此处输入autoIt转化的执行文件 self.dr.sleep(3) #4.2: upload(非本地) self.dr.click('***->***') #一般情况会触发弹窗,然后让用户选择 self.dr.sleep(3) self.dr.click('***->***') #选择某个目标后,有可能需要,点击确定,也有可能选择即生效,具体看网站 #5; download #TODO #6.1: date(输入式) self.dr.type('***->***') #6.2: date(选择式) self.dr.click('***->***') #一般为年月日,依次选择,固需执行多次。 #7: frame self.dr.switch_to_frame('***->***') #此处跳新frame self.dr.sleep(3) #******** 操作 #TODO 在新frame下执行对应操作,操作完成后,需退出,重新回到原来的frame,或之后要操作元素所在的frame self.dr.switch_to_frame_out() self.dr.sleep(3) self.dr.switch_to_frame('***->***') #回到之前的frame,或之后要操作元素所在的frame self.dr.sleep(3) #****************************** check after(操作后check总数变化) ****************************** text_after = self.dr.get_text('')