51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 258|回复: 8
打印 上一主题 下一主题

[求助] Pycharm安装pytest-xdist后,调用多线程执行测试用例不成功。

[复制链接]
  • TA的每日心情
    开心
    2024-11-8 17:22
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    跳转到指定楼层
    1#
    发表于 2024-10-20 21:31:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    大佬们,我在pycharm中写了6条用例,之后使用main方法调用,执行用例之后,控制台显示的结果是使用的单线程执行用例,但是我在cmd命令提示符的黑窗口里使用pytest -n 3 就可以看到是通过3个线程执行的用例,找了很久,也没找到是什么原因,有没有大佬帮忙解答一下,万分感谢,下面是我的代码和控制台、命令提示符窗口的执行结果截图。

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

    使用道具 举报

  • TA的每日心情
    开心
    2024-11-8 17:22
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    2#
     楼主| 发表于 2024-10-20 21:35:10 | 只看该作者
    本帖最后由 立秋 于 2024-10-20 21:36 编辑

    代码截图:

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-11-8 17:22
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    3#
     楼主| 发表于 2024-10-20 21:38:11 | 只看该作者
    控制台结果:

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-11-8 17:22
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    4#
     楼主| 发表于 2024-10-20 21:39:00 | 只看该作者
    命令提示符窗口执行结果:

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    前天 09:05
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    5#
    发表于 2024-10-21 09:15:36 | 只看该作者
    在 Pycharm 中执行用例显示单线程执行而在 cmd 命令提示符中使用 `pytest -n 3` 可以看到通过 3 个线程执行,可能有以下几个原因:


    一、Pycharm 配置问题
    1. 检查 Pycharm 的运行配置。确保没有设置为单线程执行或限制了线程数量。进入 Pycharm 的运行配置界面,查看相关设置项,特别是与多线程执行相关的参数。
    2. 确认 Pycharm 使用的测试运行器与在命令提示符中使用 `pytest` 时一致。有时候 Pycharm 可能会使用不同的测试运行器,导致执行方式不同。


    二、环境差异
    1. 检查 Pycharm 和命令提示符中运行时的环境变量是否一致。不同的环境变量可能会影响测试的执行方式。
    2. 确认在 Pycharm 中使用的 Python 解释器与命令提示符中一致。如果使用了不同的解释器,可能会导致行为差异。


    三、插件或扩展影响
    1. 检查 Pycharm 中是否安装了可能影响测试执行的插件。某些插件可能会改变测试的执行方式或限制线程的使用。
    2. 确认 Pycharm 的版本和相关插件的版本是否最新。有时候旧版本可能存在一些问题,更新到最新版本可能会解决这些问题。


    四、代码中的设置
    1. 检查你的测试代码中是否有明确设置单线程执行的地方。可能在某些地方无意中设置了单线程执行模式。
    2. 确认你的测试框架(如果不是直接使用 `pytest`)是否有特定的配置项影响了线程的使用。


    你可以逐步排查这些可能的原因,以确定为什么在 Pycharm 中执行用例时显示单线程执行。

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-11-8 17:22
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    6#
     楼主| 发表于 2024-10-21 14:25:48 | 只看该作者
    lsekfe 发表于 2024-10-21 09:15
    在 Pycharm 中执行用例显示单线程执行而在 cmd 命令提示符中使用 `pytest -n 3` 可以看到通过 3 个线程执行 ...

    非常感谢大佬的回复,就是您说的这些点,有些不知道怎么检查,方便详细说一下或者是加个联系方式么?困扰我好几天了这个问题 真的要崩溃了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    前天 09:05
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    7#
    发表于 2024-10-21 14:36:50 | 只看该作者
    立秋 发表于 2024-10-21 14:25
    非常感谢大佬的回复,就是您说的这些点,有些不知道怎么检查,方便详细说一下或者是加个联系方式么?:han ...

    以下是对每个可能原因中提到的检查方法的详细说明:


    一、Pycharm 配置问题


    1. 检查 Pycharm 的运行配置:
       - 打开 Pycharm,点击右上角的运行配置下拉菜单(通常是一个绿色三角形旁边的下拉箭头)。
       - 选择“编辑配置”。
       - 在打开的窗口中,查看“运行/调试配置”选项卡下的设置。特别是查找与线程相关的参数设置,确保没有明确设置为单线程执行或限制了线程数量。如果有类似的设置,尝试取消或调整为合适的值。


    2. 确认 Pycharm 使用的测试运行器与在命令提示符中使用 `pytest` 时一致:
       - 在 Pycharm 中,打开项目设置(通常是“File”->“Settings”)。
       - 找到“Tools”->“Python Integrated Tools”。
       - 在“Testing”部分,查看“Default test runner”选项。确保它与你在命令提示符中使用的 `pytest` 一致。如果不一致,可以尝试选择 `pytest` 作为默认测试运行器。


    二、环境差异


    1. 检查 Pycharm 和命令提示符中运行时的环境变量是否一致:
       - 在 Pycharm 中,打开项目设置。
       - 找到“Project”->“Project Interpreter”。
       - 点击右上角的齿轮图标,选择“Show All”。
       - 在打开的“Project Interpreter”窗口中,点击“Show Environment Variables”按钮。这将显示 Pycharm 中项目使用的环境变量。
       - 在命令提示符中,输入“set”命令可以查看当前命令提示符环境下的环境变量。
       - 比较两者的环境变量,确保关键的环境变量(如与测试相关的路径、库的配置等)一致。


    2. 确认在 Pycharm 中使用的 Python 解释器与命令提示符中一致:
       - 在 Pycharm 的项目设置中,查看“Project Interpreter”部分,确认使用的 Python 解释器路径。
       - 在命令提示符中,输入“where python”(Windows)或“which python”(Linux/macOS)命令,查看命令提示符中使用的 Python 解释器路径。
       - 如果不一致,可以尝试在 Pycharm 中切换到与命令提示符中相同的 Python 解释器。


    三、插件或扩展影响


    1. 检查 Pycharm 中是否安装了可能影响测试执行的插件:
       - 在 Pycharm 中,打开“File”->“Settings”。
       - 找到“Plugins”选项。
       - 查看已安装的插件列表,特别是与测试相关的插件。如果有不熟悉的插件,可以在网上搜索其功能,看是否可能影响测试的执行方式或线程使用。
       - 如果怀疑某个插件有问题,可以尝试暂时禁用该插件,然后重新运行测试,看问题是否解决。


    2. 确认 Pycharm 的版本和相关插件的版本是否最新:
       - 在 Pycharm 中,点击“Help”->“About”可以查看 Pycharm 的版本信息。
       - 在“Plugins”设置页面中,可以查看每个插件的版本信息,并检查是否有更新可用。
       - 如果有新版本,可以尝试更新 Pycharm 和相关插件,看是否能解决问题。


    四、代码中的设置


    1. 检查你的测试代码中是否有明确设置单线程执行的地方:
       - 仔细检查测试代码文件,查找可能与线程设置相关的代码。例如,是否有使用特定的线程库并设置为单线程模式的代码。
       - 如果使用了第三方测试框架,查看框架的文档,了解是否有默认的单线程设置或可以配置线程数量的地方。


    2. 确认你的测试框架(如果不是直接使用 `pytest`)是否有特定的配置项影响了线程的使用:
       - 如果使用了除 `pytest` 之外的测试框架,仔细阅读该框架的文档,查找与线程相关的配置选项。
       - 检查项目的配置文件(如果有),看是否有针对测试框架的线程设置。

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-11-8 17:22
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    8#
     楼主| 发表于 2024-10-21 15:17:06 | 只看该作者
    大佬,这些我都检查了一遍,好像还是不行。关于Pycharm配置的问题,我好像没有看到有设置线程相关的参数,

    pycharm使用的测试运行期和在命令提示符中的pytest也是一致的。

    运行环境中的python解释器路径也都是一样的

    插件我只安装了一个汉化插件

    代码里边的话,只导入pytest和time,编写的代码也没有单独设置过线程。


    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    9#
    发表于 5 天前 | 只看该作者
    兄弟解决了吗,我也是和你同样的问题.
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-23 17:48 , Processed in 0.074932 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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