• 0
  • 0
分享

  在面试的时候,经常会遇到这样的问题:你做过UI自动化么?是怎么做的?

  一般来说,我会这么回答:做过,我是用Python+Selenium+UnitTest+BeautifulReport采用POM模式来做的。

  首先的话我会创建一个BasePage类把一些常用的方法重新封装下,比如元素定位,打开页面等等直接封装的简单些,例如self.driver.find_element_by_id直接封装成by_id就行了。

  然后的话如果页面跑自动化的时候要登录,也把登录直接封装成一个函数,后面直接调用函数就可以了。

  还有的话也会把封装读取配置文件函数,比如读取CSV配置文件,我们可以把所用到的一些数据直接放在配置文件里比如url账号、密码等。

  后面直接调用函数读取文件数据,这样如果后面改数据测试可以直接在配置文件里面修改。

  后面就是先把需要测试的页面定义一个个page类(继承我们之前封装好的常用的方法),里面的一些属性、元素封装成一个个方法,比如一个通过ID定位的点击按钮、点击输入框、输入框输入数据、确认按钮等等这些都封装成具体的方法。

  这些封装好之后全都放在创建的common文件夹下面表示是一些通用的方法、函数。

  这些都做好之后就可以创建UnitTest用例集了,需要用到什么方法、函数、page类直接导入进来,给需要浏览器驱动的传入驱动就可以使用它里面的方法了,方便我们写用例。

  用例写完后,创建一个run_all文件,用BeautifulReport模块,通过设置可以执行所用的测试用例并且生成一个html报告,也可以配置发送邮件等等。

  基本上我是这么回答面试官的,然后工作中也基本是这么用的。

  不过这只是应付面试,里面的一些东西,最好还是会用,不然面试过了,进去不会做也很尴尬!


作者:九月的梦    

来源:http://www.51testing.com/html/13/n-7789413.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   测试行业发展前景大猜想,究竟是坚守阵地还是灵活变通,点击下方链接填写调查问卷预测一拨吧!看看你的选择有没有影响到这个行业。链接:http://vote.51testing.com/  背景  近几年,各家商业银行均在大力发展自动化测试。在这一进程中,自动化测试的设计理念不断完善,新的技术不断应用,使得自动化测试资产的积累代价和维护代价不断降低,自动化测试资产的数量不断增长。  在短短几年间,自动化测试资产的数量已从数千增长至数万乃至数十万。  商业银行的自动化测试平台所管理的自动化测试案例往往数量庞大、隶属于不同的系统,自动化测试对象类型各不相同,这就要求对商业银行的自动化测试平台支持多种...
            0 0 1444
            分享
          • Web应用有时候需要测试,但开发人员没有做负载测试,或者更糟糕的是,他们花了时间来做负载测试,但是没有做好充分的准备。没有充足的预备工作,负载测试不可能发现它应该发现的所有问题。那么,Web开发如何进行负载测试呢?下面优就业IT培训机构的老师告诉大家。1.确定用户数量如果要加载测试,你会模拟多少虚拟用户呢?要回答这个问题,你要估计大概多少并发用户可能访问你的网站,这取决于一天中的时间。很多测试者只是猜测,相反,你需要跟你的设计师和营销人员谈谈并看看性能说明。你甚至可能要问他们设计的应用程序支持多少并发用户,然后设计这么多用户及比这更多用户的测试。2.研究你的分析不要假装知道客户如何用你的应用程...
            0 0 955
            分享
          • 最近趁摸鱼时间体验了一款神器,堪称后端前端们的摸鱼加速器,测试们的寿命催化剂。那就是:Apifox。中国自主研发的集文档、接口调试、Mock、接口自动化测试一体的协作平台。一套系统、一份数据,可解决多个系统之间的数据同步问题。定义好接口文档,则接口调试、数据Mock、接口测试就可以直接使用,无需再次定义;接口文档和接口开发调试也可以同一个工具,接口调试完成后即可保证和接口文档定义完全一致。高效、及时、准确!已有的API工具,例如postman,fiddler等,虽然功能也很强大,但是食用起来还是比较的繁琐,面对少量的接口还好说,要是面对大量的接口,需要耗费一定时间和精力去分门别类建立规范文档,...
            0 0 1630
            分享
          •   据报道,美国人工智能公司OpenAI创始人萨姆·奥特曼(SamAltman)即将获得约1亿美元融资,资金将用于他使用眼部虹膜扫描技术创建的一种安全的全球加密货币“世界币”(Worldcoin)的计划。对于经历了黯淡一年的加密货币行业来说,这将是难得值得高兴的事情。  三位知情人士透露,该公司正就为世界币计划筹集新资金进行深入谈判,准备在未来几周内推出。  其中一位知情人士说,资金筹集包括现有投资者和新投资者。该公司之前的投资者包括信息科技领域的投资公司KhoslaVentures和美国私人风险投资公司AndreessenHorowitz的加密基金,以及数字资产衍生品交易所FTX创始人山姆·...
            0 0 933
            分享
          •   每一个产品都是为了解决某个问题而产生的,在诞生之初都是有自己的目标和原则的。只不过随着时间发展,产研团队慢慢更换,很多东西就慢慢丢掉了,改变了。所以在设计完善禅道项目管理软件的时候,我一直都比较恐慌,唯恐哪一天禅道也变成了自己不喜欢的样子。也就有了一些自己固执地坚持,不肯妥协的原则,跟大家分享下。  第一原则,长周期原则。  想尽一切办法让产品的生命周期大于团队的生命周期。每个产品都有自己的生命周期,每个团队也都有自己的生命周期,这是客观规律。但我总会觉得用户和客户因为信任选择使用禅道,我们就要为用户和客户负责,这是我放不下的责任和义务。一方面我努力地赚钱,让团队持续发展,为我们的用户和客...
            0 0 257
            分享
      • 51testing软件测试圈微信