51Testing软件测试论坛

标题: 请问一下运行 UI 自动化的时候,登陆之后的操作该怎么进行,登录之后,后面的操作... [打印本页]

作者: 测试积点老人    时间: 2022-2-28 13:05
标题: 请问一下运行 UI 自动化的时候,登陆之后的操作该怎么进行,登录之后,后面的操作...
请问一下运行 UI 自动化的时候,登陆之后的操作该怎么进行,登录之后,后面的操作无法进行,是要重新打开浏览器吗
  1. class WebKey(object):

  2.     def __init__(self, txt, timeout=30):
  3.         # 构造函数,创造必要的实例变量
  4.         if txt == 'gg':
  5.             self.driver = webdriver.Chrome()
  6.             self.driver.maximize_window()
  7.             self.driver.implicitly_wait(timeout)
  8.         elif txt == 'ff':
  9.             self.driver = webdriver.Firefox()
  10.             self.driver.maximize_window()
  11.             self.driver.implicitly_wait(timeout)
  12.         elif txt == 'ie':
  13.             self.driver = webdriver.Ie()
  14.             self.driver.maximize_window()
  15.             self.driver.implicitly_wait(timeout)
  16.         else:
  17.             print("浏览器暂不支持")
  18.             pass

  19.     def load_url(self, url=None):
  20.         """
  21.         打开网站
  22.         :param url: 网站地址
  23.         :return:
  24.         """
  25.         self.driver.get(url)
复制代码
  1. # 登录业务
  2. def login_busin(user, passwd):
  3.     br = WebKey()
  4.     br.open_br(br="gg")
  5.     br.open_url(URL)
  6.     br.sleep(tm=1)
  7.     br.send_key(section='LoginAccountElements', option='username', data=user)
  8.     br.send_key(section='LoginAccountElements', option='password', data=passwd)
  9.     picture_address = br.screenshot(os.path.join(img_address, str(int(time.time())) + ".png"))
  10.     text = read_image.ocr(picture_address)
  11.     br.send_key(section='LoginAccountElements', option='Verification', data=text)
  12.     br.click(section='LoginAccountElements', option='Login')
  13.     br.sleep(tm=1)
  14.     br.sleep(5)
  15.     # br.close()

  16. if __name__ == '__main__':
  17.     pass
复制代码
  1. # 添加业务
  2. class add_actual_pop(WebKey):

  3.     def add_actual_population(self, name, phone, id_card):
  4.         self.click(section="HomePageElements", option="Basic_database")
  5.         self.click(section="Basic_database_main", option="add_Basic_population")
  6.         self.send_key(section="add_Basic_population_jump", option="name", data=name)
  7.         self.click(section="add_Basic_population_jump", option="date_birth")
  8.         self.send_key(section="add_Basic_population_jump", option="date_birth_input", data="2011-01-11")
  9.         pyautogui.typewrite(['enter'])
  10.         self.click(section="add_Basic_population_jump", option="Current_address")
  11.         self.send_key(section="add_Basic_population_jump", option="Current_address_search", data='舟山市岱山县驸马宫前西南约150米')
  12.         self.click(section="add_Basic_population_jump", option="Current_address_query")
  13.         self.click(section="add_Basic_population_jump", option="Current_address_click")
  14.         self.click(section="add_Basic_population_jump", option="Current_address_confirm")
  15.         self.click(section="add_Basic_population_jump", option="House_registration")
  16.         self.click(section="add_Basic_population_jump", option="House_registration_register")
  17.         self.click(section="add_Basic_population_jump", option="gender")
  18.         self.click(section="add_Basic_population_jump", option="male")
  19.         self.send_key(section="add_Basic_population_jump", option="phone_num", data=phone)
  20.         self.send_key(section="add_Basic_population_jump", option="id_card", data=id_card)
  21.         self.click(section="add_Basic_population_jump", option="entry_status")
  22.         self.click(section="add_Basic_population_jump", option="entry_status_atypism")
  23.         self.click(section="add_Basic_population_jump", option="confirm")
  24.         self.sleep(tm=10)
  25.         self.close()


  26. if __name__ == '__main__':
  27.     pass
复制代码
  1. # 用例

  2. @pytest.fixture()
  3. def test_login():        #登录用例
  4.     login_busin(user="ctz", passwd="admin123456?")


  5. def test_add_actual_pop(test_login):        # 添加用例
  6.     add_actual_pop().add_actual_population(name="原始人", phone="15255225552", id_card="420101199706214387")

  7. if __name__ == '__main__':
  8.     pass
复制代码




作者: qqq911    时间: 2022-3-1 10:06
要先调用登录,再执行业务
作者: kallinr    时间: 2022-3-1 11:38
调用登陆,在执行业务
作者: jingzizx    时间: 2022-3-1 14:51
打开浏览器,进行页面操作,进行抓取元素




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2