def setUp(self): self.muen_int = 5 self.module_int = 1 # 登录账户进入菜单 self.work = PreWork(muen_i=self.muen_int, module_i=self.module_int) # 找到公用对象 self.op_br, self.comm = self.work.get_object_work() pass
def setUpClass(cls): cls.muen_int = 2 cls.module_int = 4 # 登录账户进入菜单 cls.work = PreWork(muen_i=cls.muen_int, module_i=cls.module_int) # 找到公用对象 cls.op_br, cls.comm = cls.work.get_object_work() pass
class TestStoreLabel(unittest.TestCase): def setUp(self): self.muen_int = 5 self.module_int = 1 # 登录账户进入菜单 self.work = PreWork(muen_i=self.muen_int, module_i=self.module_int) # 找到公用对象 self.op_br, self.comm = self.work.get_object_work() pass def tearDown(self): self.work.close_quit_driver() pass def test_store_status_default(self): """展示数据状态下拉默认显示""" elucidate = self.work.get_option_text("select[name='status']") assert elucidate == '全部状态', '展示数据状态下拉默认显示文字判断有误:%s' % elucidate del elucidate pass def test_store_custom_area(self): """片区下拉默认显示""" elucidate = self.work.get_option_text("select[name='custom_area']") assert elucidate == '片区', '片区下拉默认显示文字判断有误:%s' % elucidate del elucidate pass def test_store_type_default(self): """关键字下拉默认显示""" elucidate = self.work.get_option_text("select[name='type']") assert elucidate == '配送点ID', '关键字下拉默认显示文字判断有误:%s' % elucidate del elucidate pass def test_add_store(self): """点击添加配送点之后,弹窗标题判断""" add_store = self.op_br.is_visible_clicks("li.box-tools>button", "css") assert add_store, "没有找到添加配送点的按钮" label_text = self.op_br.get_ele_text_vlue("myModalLabel", "id") assert label_text == '添加配送点', "点击添加配送点之后,弹窗标题判断有误:%s" % label_text self.op_br.driver.back() def test_store_name(self): """点击配送点名字,跳转进入新页面""" self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(2) > a", "css") label_text = self.op_br.get_ele_text_vlue("ul.breadcrumb>li", "css") assert label_text == '配送点详情', "点击配送点名字,跳转进入新页面判断有误:%s" % label_text self.op_br.driver.back() def test_store_area(self): """点击所属片区,跳转进入新页面""" self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(4) > a", "css") label_text = self.op_br.get_ele_text_vlue("ul.breadcrumb>li", "css") assert label_text == '网格管理', "点击所属片区,跳转进入新页面判断有误:%s" % label_text self.op_br.driver.back() def test_store_goods_number(self): """点击商品数量,跳转进入新页面""" self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(5) > a", "css") label_text = self.op_br.get_ele_text_vlue("ul.breadcrumb>li", "css") assert label_text == '配送点详情', "点击商品数量,跳转进入新页面判断有误:%s" % label_text self.op_br.driver.back() def test_store_detailed(self): """点击详细按钮,跳转进入新页面""" self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") label_text = self.op_br.get_ele_text_vlue("ul.breadcrumb>li", "css") assert label_text == '配送点详情', "点击详细按钮,跳转进入新页面判断有误:%s" % label_text self.op_br.driver.back() def test_judge_error(self): """检查页面有没有出现错误提示""" error_judge = self.op_br.report_an_error() assert error_judge, "界面出现了Fatal error错误提示" def test_deficiency_module(self): """操作按钮+翻页""" assert False, "操作按钮+翻页等功能没有做" # 以下操作是在配送点详情页面进行的.而不是在配送点列表页面进行 def test_shop_deficiency_module(self): """配送点详情页,库存日志TAB页面,操作按钮+翻页""" assert False, "配送点详情页,操作按钮+翻页等功能没有做" def test_shop_goods(self): """配送点详情页面切换tab""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 2.遍历切换 self.op_br.traverse_jump("ul.nav.nav-tabs>li", 1) # 点击完成之后,回到初始tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:net-child(1)", 1) def test_shop_goods_status(self): """配送点详情页,商品管理TAB页面,商品所在平台状态下拉默认值检测""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到商品tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(1) > a", "css") elucidate = self.work.get_option_text("select[name='city_status']") assert elucidate == '平台状态', '配送点详情页,商品管理TAB页面,商品所在平台状态下拉默认值检测有误:%s' % elucidate del elucidate pass def test_shop_goods_shopstatus(self): """配送点详情页,商品管理TAB页面,商品所在配送点销售状态下拉默认值检测""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到商品tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(1) > a", "css") elucidate = self.work.get_option_text("select[name='shop_status']") assert elucidate == '配送点销售状态', '配送点详情页,商品管理TAB页面,商品所在配送点销售状态下拉默认值检测有误:%s' % elucidate del elucidate pass def test_shop_goods_category(self): """配送点详情页,商品管理TAB页面,商品所在类目下拉默认值检测""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到商品tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(1) > a", "css") elucidate = self.work.get_option_text("select[name='category']") assert elucidate == '类目', '配送点详情页,商品管理TAB页面,商品所在类目下拉默认值检测有误:%s' % elucidate del elucidate pass def test_shop_goods_type(self): """配送点详情页,商品管理TAB页面,商品所在关键字下拉默认值检测""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到商品tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(1) > a", "css") elucidate = self.work.get_option_text("select[name='type']") assert elucidate == '商品名称', '配送点详情页,商品管理TAB页面,商品所在关键字下拉默认值检测有误:%s' % elucidate del elucidate pass def test_shop_goods_addnumber(self): """配送点详情页,商品管理TAB页面,点击铺货按钮检测""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到商品管理TAB self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(1) > a", "css") # 点击铺货 self.op_br.is_visible_clicks("button.handbtn.handbtn-blue.pull-right.modal-btn", "css") elucidate = self.op_br.get_ele_text_vlue("myModalLabel", 'id') assert elucidate == '配送点铺货', '配送点详情页,商品管理TAB页面,点击铺货按钮弹窗标题有误:%s' % elucidate del elucidate self.op_br.is_visible_clicks("button.close", 'css') pass def test_shop_goods_inventory(self): """配送点详情页,商品管理TAB页面,点击页面当前库存进入新页面""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到商品tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(1) > a", "css") # 点击铺货 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(5) > a", "css") elucidate = self.op_br.get_ele_text_vlue("ul.nav.nav-tabs>li", 'css') assert elucidate == '配送点详情', '配送点详情页,商品管理TAB页面,点击页面当前库存进入新页面标题有误:%s' % elucidate del elucidate self.op_br.driver.back() pass def test_shop_inventory_timeinput(self): """配送点详情页,库存日志TAB页面,时间输入框""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到库存日志tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(2) > a", "css") elucidate = self.op_br.get_ele_text_vlue("reservationtime", 'id', attr='value') assert elucidate == '今日', '配送点详情页,库存日志TAB页面,时间输入框显示文字判断有误:%s' % elucidate del elucidate pass def test_shop_inventory_change(self): """配送点详情页,库存日志TAB页面,库存变更下拉""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到库存日志tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(2) > a", "css") elucidate = self.work.get_option_text("select[name='change']") assert elucidate == '库存变更', '配送点详情页,库存日志TAB页面,库存变更下拉默认文字判断有误:%s' % elucidate del elucidate pass def test_shop_inventory_status(self): """配送点详情页,库存日志TAB页面,库存变更类型下拉""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到库存日志tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(2) > a", "css") elucidate = self.work.get_option_text("select[name='type']") assert elucidate == '变更类型', '配送点详情页,库存日志TAB页面,库存变更类型下拉默认文字判断有误:%s' % elucidate del elucidate pass def test_shop_inventory_keyinput(self): """配送点详情页,库存日志TAB页面,关键字下拉输入框""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到库存日志tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(2) > a", "css") elucidate = self.op_br.get_ele_text_vlue("input[name='goods']", 'css', attr='placeholder') assert elucidate == '输入商品名称/ID', '配送点详情页,库存日志TAB页面,关键字下拉输入框显示文字判断有误:%s' % elucidate del elucidate pass def test_shop_inventory_remarks(self): """配送点详情页,库存日志TAB页面,点击操作备注为订单的连接,实现跳转""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到库存日志tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(2) > a", "css") error_bool = True # 遍历tr只到除该页面中能跳转的数据信息. info_text = self.op_br.info_number() if True: for info in range(info_text): # 找到页面上全部为tr的数据 tbody_tr = self.op_br.is_visible_all_drivers("#datatatle>tbody>tr", 'css') # 遍历tr数据 for tr in tbody_tr: # 找到tr下面为td的数据 tbody_td = tr.find_elements_by_tag_name("td") print("tbody_td长度:%s" % len(tbody_td)) # 判断倒数操作备注这个td元素旗下是否有a标签,有说明能跳转 try: tbody_td_a = tbody_td[6].find_element_by_tag_name('a') if tbody_td_a: tbody_td_a.click() error_bool = self.op_br.report_an_error() self.op_br.driver.back() break pass except: print("td标签没有a开始跳过") pass pass pass assert error_bool, "库存日志点击操作日志为订单进行跳转出现了错误.." pass def test_shop_empty_timeinput(self): """配送点详情页,空桶日志TAB页面,时间输入框""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到空桶日志tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(3) > a", "css") elucidate = self.op_br.get_ele_text_vlue("reservationtime", 'id', attr='value') assert elucidate == '今日', '配送点详情页,空桶日志TAB页面,时间输入框显示文字判断有误:%s' % elucidate del elucidate pass def test_shop_empty_change(self): """配送点详情页,空桶日志TAB页面,库存变更类型下拉""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到空桶日志tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(3) > a", "css") elucidate = self.work.get_option_text("select[name='type']") assert elucidate == '变更类型', '配送点详情页,空桶日志TAB页面,库存变更下拉默认文字判断有误:%s' % elucidate del elucidate pass def test_shop_empty_status(self): """配送点详情页,空桶日志TAB页面,库存变更类型下拉""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到空桶日志tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(3) > a", "css") elucidate = self.work.get_option_text("select[name='goodsType']") assert elucidate == '商品ID', '配送点详情页,空桶日志TAB页面,库存变更类型下拉默认文字判断有误:%s' % elucidate del elucidate pass def test_shop_empty_remarks(self): """配送点详情页,空桶日志TAB页面,点击操作备注为订单的连接,实现跳转""" # 1.先进入页面 self.op_br.is_visible_clicks("tbody > tr:nth-child(1) > td:nth-child(7) > a", "css") # 切换到库存日志tab self.op_br.is_visible_clicks("ul.nav.nav-tabs>li:nth-child(2) > a", "css") error_bool = True # 遍历tr只到除该页面中能跳转的数据信息. info_text = self.op_br.info_number() if True: for info in range(info_text): # 找到页面上全部为tr的数据 tbody_tr = self.op_br.is_visible_all_drivers("#datatatle>tbody>tr", 'css') # 遍历tr数据 for tr in tbody_tr: # 找到tr下面为td的数据 tbody_td = tr.find_elements_by_tag_name("td") print("tbody_td长度:%s" % len(tbody_td)) # 判断倒数操作备注这个td元素旗下是否有a标签,有说明能跳转 try: tbody_td_a = tbody_td[6].find_element_by_tag_name('a') if tbody_td_a: tbody_td_a.click() error_bool = self.op_br.report_an_error() self.op_br.driver.back() break pass except: print("td标签没有a开始跳过") pass pass pass assert error_bool, "空桶日志点击操作日志为订单进行跳转出现了错误.." pass
def setUpClass(cls): # 登录账户进入菜单 cls.work = PreWork(muen_i=1, module_i=1) # 找到公用对象 cls.op_br, cls.comm = cls.work.get_object_work() pass