• 0
  • 0
分享

  一.复用已有浏览器

  应用场景:登录页面需要用户进行扫码登录的。

  1.推出当前所有的谷歌浏览器。

  2.找到chrome的启动路径,并配置到环境变量中。

  3.启动命令:

  windows :  chrome --remote-debugging-port=9222
  mac:Chrome --remote-debugging-port=9222

  4.访问http://localhost:9222/

  5.在需要扫码登录的页面上,先自己扫码登录,然后再用代码打开其它的页面。

  代码如下:

  def test_multiplex_browser(self):
      """复用已有浏览器,只有chrome支持remote debug
      """
      chrome_option=webdriver.ChromeOptions()
      chrome_option.debugger_address='127.0.0.1:9222'
      self.driver=webdriver.Chrome(options=chrome_option)
      self.driver.get('https://work.weixin.qq.com/wework_admin/frame')
      self.driver.find_element_by_id('menu_contacts').click()

  二.使用cookie

  应用场景:使用用户已经登录后的cookie或者开发给的一个长期cookie。

  1.先登录,获取到cookie。

  2.用获取到的cookies来打开其它的页面。

     def test_cookie(self):
          self.driver = webdriver.Chrome()
          self.driver.get('https://work.weixin.qq.com/wework_admin/frame')
          cookies=[{'domain': '.work.weixin.qq.com', 'httpOnly': True, 'name': 'wwrtx.vst', 'path': '/', 'secure': False, 'value': 'uQYEE9pmrAqMiqGgH-HuvOud8iyrDYT6-cYK3Knu48wyxlGHPBsPgQ5V3jlJ_94sQuWkqZsCRgBbLSFoPIkZ3rBxAScq26xVg7v23I93ZHnAxsmC1toQaPwTbWL6M8d75iuVx5ogoSVldUStEfijHIH27f0Ibg8AQGVZrE5vpAOzuYG24q6MNNerfYZji7bIY3X38T2_D_k1yC8KJ5IOnnh_AJvOTE9vhdXWJS52y0yBWv-4tbPegBYl6CE-oyVGD1kw-D6NtbBwTixg1IJMbg'}, {'domain': '.work.weixin.qq.com', 'httpOnly': False, 'name': 'wxpay.vid', 'path': '/', 'secure': False, 'value': '1688850993086434'}, {'domain': '.work.weixin.qq.com', 'httpOnly': True, 'name': 'wwrtx.ltype', 'path': '/', 'secure': False, 'value': '1'}, {'domain': '.work.weixin.qq.com', 'httpOnly': True, 'name': 'wwrtx.sid', 'path': '/', 'secure': False, 'value': 'jlKkDPAbw-_2ajHbVc45AmN68pp03_uipXmsHyt2Uib9jR_V4jU49zFt-UNlTvPH'}, {'domain': '.work.weixin.qq.com', 'httpOnly': False, 'name': 'wwrtx.d2st', 'path': '/', 'secure': False, 'value': 'a9782796'}, {'domain': '.work.weixin.qq.com', 'expiry': 1634125372, 'httpOnly': False, 'name': 'Hm_lvt_9364e629af24cb52acc78b43e8c9f77d', 'path': '/', 'secure': False, 'value': '1602468735,1602471614,1602471704,1602589372'}, {'domain': '.work.weixin.qq.com', 'httpOnly': True, 'name': 'wwrtx.refid', 'path': '/', 'secure': False, 'value': '3114847352240073'}, {'domain': '.work.weixin.qq.com', 'httpOnly': True, 'name': 'wwrtx.ref', 'path': '/', 'secure': False, 'value': 'direct'}, {'domain': '.qq.com', 'expiry': 1602589571, 'httpOnly': False, 'name': '_gat', 'path': '/', 'secure': False, 'value': '1'}, {'domain': 'work.weixin.qq.com', 'expiry': 1602606023, 'httpOnly': True, 'name': 'ww_rtkey', 'path': '/', 'secure': False, 'value': '3rs16jl'}, {'domain': '.qq.com', 'expiry': 1602675911, 'httpOnly': False, 'name': '_gid', 'path': '/', 'secure': False, 'value': 'GA1.2.1418420518.1602574488'}, {'domain': '.work.weixin.qq.com', 'expiry': 1605181511, 'httpOnly': False, 'name': 'wwrtx.i18n_lan', 'path': '/', 'secure': False, 'value': 'zh'}, {'domain': '.work.weixin.qq.com', 'httpOnly': False, 'name': 'wxpay.corpid', 'path': '/', 'secure': False, 'value': '1970325124167270'}, {'domain': '.qq.com', 'expiry': 1917932908, 'httpOnly': False, 'name': 'pac_uid', 'path': '/', 'secure': False, 'value': '0_3062c037b13a1'}, {'domain': '.qq.com', 'expiry': 2147385600, 'httpOnly': False, 'name': 'pgv_pvid', 'path': '/', 'secure': False, 'value': '8967897655'}, {'domain': '.work.weixin.qq.com', 'httpOnly': False, 'name': 'Hm_lpvt_9364e629af24cb52acc78b43e8c9f77d', 'path': '/', 'secure': False, 'value': '1602589372'}, {'domain': '.qq.com', 'expiry': 1665661511, 'httpOnly': False, 'name': '_ga', 'path': '/', 'secure': False, 'value': 'GA1.2.730538557.1602467204'}, {'domain': '.work.weixin.qq.com', 'httpOnly': False, 'name': 'wwrtx.vid', 'path': '/', 'secure': False, 'value': '1688850993086434'}, {'domain': '.work.weixin.qq.com', 'expiry': 1634003013, 'httpOnly': False, 'name': 'wwrtx.c_gdpr', 'path': '/', 'secure': False, 'value': '0'}]
          for cookie in cookies:
              self.driver.add_cookie(cookie)
          self.driver.get('https://work.weixin.qq.com/wework_admin/frame')
          self.driver.find_element_by_id('menu_contacts').click()
          time.sleep(5)

   

  也可以用shelve(相当于一个小型的数据库)来存放获取到cookie。

  db=shelve.open('cookies')


作者:mmherb    

来源:http://www.51testing.com/html/04/n-4481404.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1、如何提高selenium脚本的执行速度?Selenium脚本的执行速度受多方面因素的影响,如网速,操作步骤的繁琐程度,页面加载的速度,以及我们在脚本中设置的等待时间,运行脚本的线程数等。但是不能单方面追求运行速度的,要确保稳定性,能稳定地实现回归测试才是关键。我们可以从以下几个方面来提高速度:一、减少操作步骤,如经过三四步才能打开我们要测试的页面的话,我们就可以直接通过网址来打开,减少不必要的操作。二、中断页面加载,如果页面加载的内容过多,我们可以查看一下加载慢的原因,如果加载的内容不影响我们测试,就设置超时时间,中断页面加载。三、在设置等待时间的时候,可以sleep固定的时间,也可以检测...
            0 0 741
            分享
          • 面试就是一场攻防战。攻的就是面试官的内心防线,突破防线获得面试官的最大价值认可。防的是面试官的问题刺探,避免暴漏短板损害面试官对你的价值估量。攻防有序才能使自己在收获Offer的同时获得最高的薪酬。恰好笔者近期以面试者的身份参加一场面试活动,又以面试官的身份参与了一场社会招聘面试。结合笔者在面试过程中的体验与大家分享些面试技巧。一、知彼知己百战不殆知彼知己百战不殆讲的是要在做面试前要最大可能的充分熟悉对方和了解自己。梳理出对方的核心要求,整理出自身的优劣势。因地制宜,根据不同问题采取适宜的策略,一步步攀爬向面试的终极目标:百战百胜。知彼就要应聘者通过各种渠道收集打探对方信息。比如面试公司的文化...
            1 1 1033
            分享
          • 你可以写一篇出众的软件测试简历并且这篇测试用例能够为你带来面试电话么?如果没有,请继续阅读。我敢肯定,读完这篇文章,你将能够写出一个完美的杀手级别的软件测试和质量保证的简历,这将为你带来面试电话。你的简历是在求职过程中迈出的第一步。这是一个机会,来宣传自己,证明你是这个职位的最佳人选。得到一个面试电话取决于你如何展示你技能的简历,从这篇文章中你将学到:你有多少时间去打动雇主?如何从你的简历留下很好的第一印象?写一个杀手级软件测试的简历:如何写项目细节测试/质量的简历吗?很多人问“我该怎么把职业间隙贯穿在我的职业生涯?“在简历的第一页的工作成就有哪些提及你学习到的相关模块软件测试认证和培训怎样去...
            0 0 1211
            分享
          • 目前,神舟十四号航天员乘组在轨工作生活将近三个月,各项工作顺利推进,已经展开了大量的在轨科学实验。据央视新闻报道,8 月 29 日,载人航天工程空间应用暨空间站高等植物培养实验阶段性进展情况介绍会在中科院空间应用中心及分子植物卓越中心举行。据介绍,截至目前,问天实验舱各有效载荷状态良好、工作稳定,随舱发射科学实验项目在轨实验按计划开展。载有实验样品拟南芥种子和水稻种子的实验单元已由航天员安装至问天实验舱的生命生态通用实验模块中,目前植物已经发芽生长。7 月 28 日,载有实验样品拟南芥种子和水稻种子的实验单元,由航天员安装至问天实验舱的生命生态通用实验模块中,通过地面程序注入指令于 7 月 2...
            0 0 679
            分享
          •   新浪科技讯 北京时间1月16日晚间消息,据报道,微软正考虑对旧金山人工智能(AI)研究公司OpenAI投资100亿美元。分析人士称,这笔潜在交易有可能成为人工智能新时代的决定性交易。  如果微软对人工智能技术深远影响的押注是正确的,那么这笔交易还可能引发人工智能世界的一场重组,因为其他科技公司也竞相在“生成式人工智能”(Generative AI)的新领域争夺自己的位置。  上个月,OpenAI因为推出了一款智能聊天机器人系统ChatGPT而成为了全球关注的焦点。ChatGPT是一套人工智能系统,可以回答问题,并用听起来十分自然的语言生成文本。  ChatGPT很快就得到了微软的关注。微软...
            0 0 1009
            分享
      • 51testing软件测试圈微信