问题标签 [pytest-qt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 为什么 pytest-qt 找不到 Python 3.4 的 PyQt?
我正在使用 AppVeyor(Think Travis,但适用于 Windows)再次运行几个不同版本的 Python 的一些测试。测试依赖于 PyQt 和 pytest-qt。在某些配置中,pytest-qt 找不到 PyQt,抱怨:
pytest-qt 需要安装 PySide、PySide2、PyQt4 或 PyQt5
PyQt5 测试正在运行,但测试还需要运行需要 PyQt4 的旧版 Python。
Python 2.7,32 位
在 Python 2.7(32 位)上,我使用 conda 安装 PyQt:
它成功安装了pyqt-4.11.4-py27_7
然后我用 pip 安装 pytest-qt:
它成功安装了 pytest-qt-2.4.0。
然后我运行测试。没关系。
Python 2.7,64 位
完全一样的故事。工作正常。
Python 3.4,64 位
这次它安装了pyqt 4.11.4-py34_7,加上相同版本的pytest-qt,但是在测试运行时,它崩溃了:
我尝试指定环境变量PYTEST_QT_API=pyqt4
or PYTEST_QT_API=pyqt4v2
,但它抱怨:
ImportError:DLL 加载失败:找不到指定的模块。
我不知道 Python 3.4 可能有什么不同。我需要做些什么来帮助 pytest-qt 找到 PyQt 的安装?
python-3.x - 使用 Qtbot 在菜单栏和工具栏中模拟鼠标单击
我是使用 PYtestqt 在 PYQT5 中开发的记事本 GUI 自动化。当我尝试使用 qtbot 单击菜单栏或工具栏选项时,它没有模拟单击
python - 如何在 pytest-qt 中处理模态对话框而不模拟对话框
我正在使用 pytest-qt 来自动化 PyQt GUI 的测试。对话框需要作为测试的一部分进行处理(不应模拟对话框)。
例如,必须处理单击按钮后出现的文件对话框。有2个问题
在按钮单击命令之后,程序控制转到事件处理程序而不是下一行,我可以尝试将鼠标单击/击键发送到对话框。
由于 QDialog 没有添加到主窗口小部件中,因此它没有列在主窗口小部件的子窗口中。那么如何获取QDialog的引用呢?
我尝试了多线程,但没有奏效,后来我发现 QObjects 不是线程安全的。
python-3.6 - QApplication 实例/qtbot 夹具导致 travis-ci 中止和核心转储
致力于了解如何对基于 PySide2 的应用程序进行自动化单元测试。但是,每当我尝试QApplication
在测试中初始化实例时,无论是通过PySide2
自身还是通过pytest-qt
qtbot 夹具,travis-ci 都会中止测试。但是,它在本地工作。
我尝试使用qtbot
和中的qapp
固定装置pytest-qt
,尝试不同的travis-ci
发行版,例如xenial
and trusty
,以及包括pytest-xvfb
我看到的类似 stackoverflow 问题的答案所推荐的插件,但在上述任何组合中都没有任何效果。
但是,当travis-ci
尝试运行它时,它会因核心转储而中止。有人可以帮我解决这个问题吗?
python - 在 CircleCI 上运行 pytest-qt
我正在尝试在 CircleCI 上运行需要pytest-qt
(用于测试 PySide2 对话框)的测试。我收到以下错误:
我正在使用这个配置文件:
非常感谢任何帮助,在此先感谢。
python - 如何在pytest-qt中单击按钮后检查正确打开窗口
我想在我的项目中测试一个模块,但我遇到了一些问题。我不知道如何在单击按钮后检查窗口的正确打开。
我有 Windows SelectAddingBookTypeWindow 和 AddSchoolBookWindow。我想检查在单击名为 selectBtn 的按钮后是否会打开 AddSchoolBookWindow。
我当前的测试(我对最后一个字符串有问题,因为我不知道我必须使用哪种方法):
我的课程: A. SelectAddingBookTypeWindow
B. AddSchoolBookWindow
这是完整代码的一小部分,但完整代码并不能解决这个问题。
python - 使用 qtbot.mouseClick 选择 QListWidgetItem
如何使用 qtbot.mouseClick 单击 QListWidgetItem?
我使用以下代码进行了尝试,但在最终断言上失败了:
有什么我想念的吗?
python - 如何测试使用 exec_() 调用的自定义对话框窗口?
我正在尝试为我的项目编写系统测试。我有一个启动各种窗口的控制器类。但是,我似乎无法通过 qtbot 使用 exec 来控制 Windows 启动。
这是一个MVCE:
我想测试用户是否成功在 lineedit 中输入数据。在我的测试中,我能够成功单击 WindowA 中的按钮以启动 WindowB,但无法使用 keyClicks 在 lineedit 中输入数据。
这是测试:
python - 如何使用 pytest-qt 自动拖动鼠标?
我有一个 pyqt 窗口,它在按下鼠标时跟踪鼠标移动。我正在尝试使用 pytest-qt 编写一个测试来自动化这个动作。
这是一个示例类:
我想编写一个测试用例,打开窗口然后将鼠标向右拖动 100 像素并释放。
这是我尝试过的:
我也尝试过使用 pyautogui:
运行测试时,鼠标左键似乎在拖动时未按住。标签不会更新,位置属性也不会改变。
python - 如何使用 pytest-qt 点击 QMessageBox?
我正在为PyQt
具有pytest-qt
. 我想创建打开图形窗口,做一些测试然后关闭窗口,而不是为每个测试打开一个新窗口,即。对窗口本身使用模块夹具。我通过调用本地函数 aQtBot
而不是使用默认夹具,并删除了嘲笑者,成功地完成了这部分工作。所以我非常接近我的目标。
但是,但我无法关闭窗口(并测试QMessageBox
关闭事件)。
我举了一些例子,比如
如何处理模态对话框及其git讨论,或者qmessage问题;这似乎接近我的问题。建议使用计时器等待QMessageBox
出现然后单击按钮选项,但显然我无法正确应用它们。在我的尝试中,pytest
获得关闭需求,而不是点击dialog
框。所以,我必须点击自己才能完成测试。
这是一个小例子,带有文件GUI.py
:
和pytest
名为的文件test_GUI.py
:
知道我缺少什么吗?任何其他想法或建议也将不胜感激。