• 0
  • 0
分享
  • 随时随地运行脚本,使用Python打包exe文件!——软件测试圈
  • 曼倩诙谐 2023-04-17 11:53:44 字数 1697 阅读 1734 收藏 0

  前言

  我们正常执行自动化测试的代码都是在有Python环境和对应的Python库的环境中进行执行的,那么如何能否将我们的自动化测试代码放到没有python环境的电脑上进行运行呢?

  这个当然时可以的了,只需要将我们的代码打包程exe然后进可以进行在没有安装Python的环境下进行执行了。

  pyinstaller

  pyinstaller属于Python的第三方库,需要进行下载安装。

  安装

  1、通过pip进行下载安装:

pip install pyinstaller

  2、通过pip进行查看是否安装成功:

pip show pyinstaller

1-1.png

  使用方法

  下载安装已经会了,那么就要到了使用方法的阶段了,这里可以通过写一个自动化脚本,然后将其进行打包,其中这里打包有几个常用的选择项。

  命令:pyinstller命令xxxx.py文件(py文件需要绝对路径或者在对应的目录下)。

1-2.png

  常用的命令就这几个,不常用的大家可以通过pyinstaller-h进行查看:

1-3.png

  打包exe文件

  使用方法已经简单的介绍了,这里安静就要编写一个自动化脚本,然后通过Python进行打包成exe文件。

  自动化脚本打包

  下面代码中加入了等待时间,只是为了方便查看,不然打包成exe执行后,一闪而过,不方便查看。

import unittest
import time
class Test(unittest.TestCase):
    def test_01(self):
        print('测试用例-->01')
        time.sleep(1)
    def test_02(self):
        print('测试用例-->02')
        time.sleep(1)
        
    def test_03(self):
        print('测试用例-->03')
        time.sleep(1)
        
if __name__ == '__main__':
    unittest.main()

  在代码的当前文件夹下,通过cmd进行打开后输入命令:

pyinstaller -F test_01.py

  这里的代码文件名时test_01.py,-F是打包成一个可执行程序exe文件。

1-4.png

  可以通过上面看到已经执行成功了,在当前文件夹内出现了两个新的文件夹和一个spec的执行程序。

1-5.png

  其中build文件中是存放着关于打包所以来的文件内容,默认-D生成的,dist文件夹下就是我们打包生成的exe文件,其中spec文件就是告诉我们如何打包py文件内容的。

  进入到dist文件中,直接运行我们的exe文件。

1-6.png

  发现已经可以成功的运行了,当然大家也可以把这个文件放到没有装Python的环境下进行运行,一样是可以运行成功的。

  打包带图标的exe文件

  上面介绍了,想要带图标,那么就需要我们在打包命令的时候加上-i,在加上图标的路径,就可以带图标了。

  这里需要注意要将转换成16*16的ico,这个可以在网上进行查找,很多在线转换ico的工具地址。转换完成后,放到当前目录下,执行命令:

pyinstall -F -i 222.ico test.py

1-7.png

  已经转换成功了,我们继续运行我们的test.exe文件进行查看图标是否已经发生改变:

1-8.png

  虽然模糊,但是可以简单的看出来和下图是一样的。

1-9.png

  注意事项

  这里安静简单的列举下关于pyinstaller的注意事项,其中尽量用fromXXXimportxxx这样的方式导库,这样就会只打包对应的方法文件,避免打包的过程中文件太大。

  总结

  安静简单的通过pyinstaller进行把我们的自动化脚本进行了打包成了exe,这样就可以在不同的环境下进行运行,不用考虑是否安装了Python或者其他的库,也能进行执行我们的脚本了。

  感谢您的阅读,希望能给你带来帮助。



作者:测试安静    

来源:http://www.51testing.com/html/97/n-7795597.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 软件测试职业发展方向,大体上可以分为管理路线、技术路线、管理+技术路线。软件测试,是技术主导的职业;不管选择哪条发展路线,都是需要一定的技术沉淀,只是相对来说,管理路线对技术方面要求不高而已。那么我们就先挑重头的技术路线展开讨论。一般来说,一个普通的测试工程师刚入行,3个月左右熟悉企业的工作流程和模式,那么今后的工作内容趋于平稳。然而社会是残酷的!如果单单停留在测试工程师的阶段,若干年后,相信你再也竞争不过那个时候的应届毕业生,当你的工作技能和职业素质趋于与那些朝气蓬勃的年轻人相当时,企业会毫不留情的选择他们,而release你,因为你的成本消耗要比他们高,这是大实话!然而现实又是公平的!因为...
            15 15 1285
            分享
          •   这节,我们再思考下,如果我们每条用例,都去一步一步,先元素定位,然后写操作,然后写各种方法。那这个代码量是不是就有点偏多了。另外也不方便维护,比如哪天APP的某个元素定位迭代修改了,还得一个一个去改对应用例的逻辑。  所以,我们这边引入了PO设计模式。  将uiautomator2方法,元素定位,页面操作,测试用例全部分离。  这样可以大大减少我们代码量,更为方便的维护我们的测试用例。  PO模式  页面对象模型(PO)是一种设计模式,用来管理维护一组页面元素的对象库。在PO下,应用程序的每一个页面都有一个对应的Page类。每一个Page类维护着该页面的元素集和操作这些元素的方法。以上对p...
            0 0 1993
            分享
          •   故事点是敏捷项目管理和开发中的一种抽象的度量单位,用于估计实现一个或多个用户故事的复杂度,它是对工作量的一种描述方式。一个故事点就是一个数字,透过这个数字告诉整个团队用户故事的复杂度。复杂度包括功能的难易程度、风险和花多大的功夫。  故事点(story point)和预估时间(estimated)不一样,故事点是一种相对的估计,它并不能和类似“人/天”这样的单位画等号,因为每个人完成同样复杂度的工作所需的时间是不同的。我们举个例子说明一下:  假设T团队有A、B、C三位员工,A君的能力是B君的2倍,B君的能力是C君的2倍(能力是不能这样对比的,这里只是方便说明问题),T团队约定10天为一个...
            0 0 1926
            分享
          •   埃隆·马斯克今天发布推文,表示计划就降低 App Store 佣金一事,和苹果首席执行官蒂姆·库克洽谈。  在一篇关于支持创作者的推文中,马斯克希望通过和库克的交流,按照 X(推特)的营收收取 30% 的佣金,而不是按照创作者的报酬收取 30% 的佣金。  马斯克在推文中表示,在前 12 个月向所有内容创建者免费开放之后,后续不向年收入低于 10 万美元(当前约 71.8 万元人民币)的创作者收取任何费用。  而针对年收入超过 10 万美元的创作者,X(推特)计划收取 10% 的佣金。  马斯克希望苹果从 10% 的佣金中再抽取 30% 的 App Store 平台佣金,而不是直接向创作者...
            0 0 810
            分享
          •   随着科技时代的进步和智能手机的普及,现代人离不开手机已经是常态化,一旦手机不在身边便会失去安全感。提到安全一词,我们在使用手机app软件时,安全至关重要,软件里包含的个人信息、资料等等都和安全挂钩,那么在软件测试中移动app安全测试应该怎么做呢?  1、代码审计  通过代码走读的方式测试源代码的安全性,常用的代码检查方法有数据流、控制流、信息流等,通过这些测试方法与安全规则库进行匹配,进而发现潜在的安全漏洞。静态代码检查方法主要是在编码阶段进行测试,尽可能早地发现安全性问题。  2、动态渗透测试  需要借助工具或手工来模拟的输入方式,对应用软件进行安全性测试,进而发现系统中的安全性问题。该...
            0 0 575
            分享
      • 51testing软件测试圈微信