标签: qtest

如何使用 QTest 模拟拖放操作

为了为小部件中的拖放错误创建测试用例,QTreeView我尝试模拟拖放鼠标移动行为。

我基本上选择了第一个元素QTreeView并希望将其拖放到第三个元素上。QTest::mousePress我通过使用和的组合来做到这一点QTest::mouseMove。最后当然应该有一个QTest::mouseRelease,但我已经无法复制 mousePress 和 mouseMove 了。

这些是重现所需的步骤:

  1. 用户将鼠标移动到第一个项目的中心
  2. 用户按下鼠标左键
  3. 用户按住鼠标左键并将鼠标移动到第三个项目的中心
  4. 用户释放鼠标左键

如果按照描述执行这些操作,我可以看到小QTreeView部件会做出适当的反应,并指示特殊的突出显示和垂直线,以防项目在项目之间移动。

不幸的是,我的自动化测试未能重现这种行为。似乎按QTest::mousePress顺序调用会产生不同的效果。使用一对QTest::mousePressandQTest::mouseMove也是不同的。

这是我的代码:

主程序

#include "TestObject.h"
#include <QTest>

QTEST_MAIN(TestObject)
Run Code Online (Sandbox Code Playgroud)

测试对象.h

#include <QtTest/QtTest>

class TestObject : public QObject
{
    Q_OBJECT

private slots:
    void dragAndDrop();
};
Run Code Online (Sandbox Code Playgroud)

测试对象.cpp

#include "TestObject.h"
#include "TestObject.moc"
#include <QTest>
#include <QTreeView>
#include <QStandardItemModel>
#include <QPropertyAnimation>
#include "MouseMover.h"

void TestObject::dragAndDrop() {
    qDebug() << "Hello";
    QStandardItemModel model;
    QTreeView view;
    view.setModel(&model);
    view.show(); …
Run Code Online (Sandbox Code Playgroud)

qt qtreeview qstandarditemmodel qmouseevent qtest

5
推荐指数
1
解决办法
659
查看次数

如何使用单点登录凭据进行 QTest Rest API 访问

我正在使用 QTest API 进行自动化。我使用带有用户名/密码的登录 API 进行身份验证,获取不记名令牌,并将该令牌用于下一个 API 调用。

在此输入图像描述

但如果我在同一个 API 中使用 SSO 凭据(用户名/密码),则会出现错误

在此输入图像描述

我想以编程方式使用 SSO 凭据或 SAML 响应来进行身份验证并获取访问令牌。有没有办法使用 SSO 凭证或 SAML 响应来使用 Postman 获取不记名令牌?

有任何技术文档可以帮助我吗?

Qtest 是否提供任何机制来使用 SSO 凭证以编程方式获取不记名令牌?

qtestlib single-sign-on qtest

5
推荐指数
1
解决办法
188
查看次数