我正在尝试使用 Testrail 作为测试用例管理系统,因此,将 testrail 与 Jenkins 集成会很有用。
这就是我想要实现的目标:
假设我在 testrail 中手动创建了三个测试用例,用例 ID 为 C1、C2 和 C3,这些测试用例将具有一些独特的自动化测试名称,例如 A1、A2 和 A3(在更多信息中,testrail 中将有一个字段如此独特的信息)
当我点击“开始自动化测试”按钮并从 testrail 运行 Jenkins 作业时(考虑到我已经为具有此按钮的 testrail 实现了 UI 脚本):
,我想运行一个脚本/东西,它采用所选测试用例的用例 ID,并将这些 ID 临时注释到实际的 Java 测试中,以便它可以运行那些特定的测试并将结果发布回 Testrail。
我能想到的方法:
当我点击 Testrail 上的“开始自动化测试”按钮时,我可以创建一个脚本来运行以创建一个 XML 文件,该文件将包含来自 Testrail 的所需的选定测试用例。然后,此 XML 将作为 Jenkins 作业的默认输入提供,它将运行 XML 文件中提到的测试用例。此 XML 将是临时的,每次从 Testrail 进行选择时都会被替换。但是,你怎么做呢?我是 Testrail 的新手并阅读了它的 API,看起来 API 将有助于将结果发布回 Testrail。但是,我们如何实现 ID 的映射?
此外,任何关于将结果发布回 Testrail 的建议都会很有用。
我正在尝试将 TestRail 与 Jenkins 集成,我想从 test rail 运行一些测试用例,它在 jenkins 中调用测试用例,然后将结果写回 TestRail 本身,或类似的东西。
我知道有一个 API,但到目前为止我无法弄清楚如何继续使用这个 API。
任何建议都会有很大帮助。
我目前正在使用 NUnit 构建我的自动化框架,一切都运行良好,我想要做的最后一个改进是能够将我的自动化测试脚本映射到我的测试软件中的测试用例。
我对所有测试用例都使用 TestRail。
我的理想情况是能够用测试轨中相应的测试用例 ID 来装饰每个测试用例,并且当需要在 TestRail 中报告测试结果时,我可以只使用 Case id 。目前我正在通过匹配测试名称/脚本名称来执行此操作。
例子 -
[Test]
[TestCaseId("001")]
public void NavigateToSite()
{
LoginPage login = new LoginPage(Driver);
login.NavigateToLogInPage();
login.AssertLoginPageLoaded();
}
Run Code Online (Sandbox Code Playgroud)
然后在我的拆卸方法中,它会是这样的 -
[TearDown]
public static void TestTearDown(IWebDriver Driver)
{
var testcaseId = TestContext.CurrentContext.TestCaseid;
var result = TestContext.CurrentContext.Result.Outcome;
//Static method to report to Testrail using API
Report.ReportTestResult(testcaseId, result);
}
Run Code Online (Sandbox Code Playgroud)
我刚刚编写了 testcaseid 属性,但这就是我正在寻找的。
[测试用例ID(“001”)]
如果它已经存在,我可能会错过它,或者我该如何扩展 NUnit 来做到这一点?
目前正在将我的 UITest 运行结果集成到 TestRail 中,因此每次测试运行后,它都会在 testrail 中将我的测试标记为通过/失败。
我的想法是:
任何已经从事过此工作的人,这听起来适合您吗?有什么建议吗?
测试示例:
import XCTest
class MyUITests: XCTestCase {
override func setUp() {
super.setUp()
continueAfterFailure = false
appEntry.app.launch()
dismissSystemAlerts()
}
override func tearDown() {
super.tearDown()
}
func test_Elements() {
// MARK: Sample test
// my test actions are here
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用cypress-testrail-reporter将我的 cypress 测试结果发布到 testrail 中将我的 cypress 测试结果发布到 testrail我设置了我的 cypress.json 如下
\n{\n "baseUrl": "https://myAppUrl.xyz",\n "viewportWidth": 1920,\n "viewportHeight": 1080,\n "video": false,\n "reporter": "cypress-testrail-reporter",\n "reporterOptions": {\n "host": "https://mycompnay.com/testrail",\n "username": "user@mycompany.com",\n "password": "testrailsPassword",\n "projectId": 2,\n "suiteId": 18120\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n和package.json如下
\n{\n "name": "vivifytestrailreporter",\n "version": "1.0.0",\n "description": "https://github.com/Vivify-Ideas/cypress-testrail-reporter#readme",\n "main": "index.js",\n "scripts": {\n "test": "echo \\"Error: no test specified\\" && exit 1"\n },\n "author": "",\n "license": "ISC",\n "dependencies": {\n "cypress": "^7.2.0"\n },\n "devDependencies": {\n "cypress-testrail-reporter": "^1.2.8"\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n创建了一个简单的测试,可以在 npx cypress 打开时正常运行,并且其上有案例 …
我正在研究Selenium测试自动化.我创建了我的Selenium测试套件来自动化我的测试套件.现在我想将Selenium结果与TestRail集成.我不确定如何将Selenium测试运行的结果集成到TestRail测试套件中.我用java编写了所有测试用例.我现在被困住了.用一个例子对我有所帮助.
我正在使用testng框架,Maven构建工具.
我使用 testrail 只是为了编写手动测试用例。我不使用测试运行/里程碑和其他选项卡。我只使用“测试用例”来添加测试用例。有时我会错误地添加一些测试用例(后来意识到它是重复的或不需要此功能等......)。如何删除测试用例?我只看到编辑选项但没有删除选项。
当我试图解释我的困境时,请耐心等待,我仍然是一个 Python 新手,所以我的术语可能不正确。另外,我对这篇文章不可避免的冗长感到抱歉,但我会尽力解释尽可能多的相关细节。
快速概述:
我目前正在使用 py.test 为一组功能基本相同的网站开发一套 Selenium 测试
使用 pytest 插件pytest-testrail 将测试结果上传到 TestRail。
测试使用装饰器 @pytestrail.case(id) 进行标记,并具有唯一的案例 ID
我的一个典型测试如下所示:
@pytestrail.case('C100123') # associates the function with the relevant TR case
@pytest.mark.usefixtures()
def test_login():
# test code goes here
Run Code Online (Sandbox Code Playgroud)
正如我之前提到的,我的目标是创建一组代码来处理具有(几乎)相同功能的许多网站,因此上面示例中的硬编码装饰器将不起作用。
我尝试了一种数据驱动方法,其中包含 csv 以及 TestRail 中的测试列表及其案例 ID。
例子:
website1.csv:
Case ID | Test name
C100123 | test_login
website2.csv:
Case ID | Test name
C222123 | test_login
Run Code Online (Sandbox Code Playgroud)
我编写的代码将使用检查模块来查找正在运行的测试的名称,找到相关的测试 ID 并将其放入名为 test_id 的变量中:
import csv
import inspect
class trp(object):
def __init__(self):
pass
with open(testcsv) …Run Code Online (Sandbox Code Playgroud) 我有许多数据驱动的测试,因此我可以对多行数据运行相同的测试,效果很好。但是,我们还使用TestRail,并通过RF测试上的标签将RF测试链接到TestRail。目前,我只为每个模板标记一个TestRailID。例如:
*** Test Cases ***
Verify Registering For An Event with each CC Type
[Template] Register For An Event with a Credit Card
[Tags] TestRailID=1211 Smoke
${cc_intl} ${personInfo} ${visaCardInfo}
${cc_intl} ${personInfo} ${masterCardInfo}
${cc_intl} ${personInfo} ${americanCardInfo}
#etc
Run Code Online (Sandbox Code Playgroud)
我希望每一行数据都具有TestRailID的唯一标记。在上面的示例中,如何为每个数据行添加标签?