51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1176|回复: 3
打印 上一主题 下一主题

请问一下运行 UI 自动化的时候,登陆之后的操作该怎么进行,登录之后,后面的操作...

[复制链接]
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 530 天

    连续签到: 2 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2022-2-28 13:05:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    请问一下运行 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
    复制代码



    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 1522 天

    连续签到: 1 天

    [LV.Master]测试大本营

    2#
    发表于 2022-3-1 10:06:08 | 只看该作者
    要先调用登录,再执行业务
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 669 天

    连续签到: 1 天

    [LV.9]测试副司令

    3#
    发表于 2022-3-1 11:38:53 | 只看该作者
    调用登陆,在执行业务
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 2819 天

    连续签到: 1 天

    [LV.Master]测试大本营

    4#
    发表于 2022-3-1 14:51:09 | 只看该作者
    打开浏览器,进行页面操作,进行抓取元素
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 11:50 , Processed in 0.062368 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表