Closed
Description
What are you trying to achieve?
I think retryFailedStep should be disabled in TryTo block ,but when I use the laster version of CodeceptJS , retryFailedStep works fine in Tryto block.
What do you get instead?
Details
- CodeceptJS version: 3.5.7
- NodeJS Version: v20.3.1
- Operating System: macos 13.4.1
- appium 2.0.0-rc.4
- Configuration file:
// load env variables - this should be the first line of config
require('dotenv-extended').config({
path: './tests/acceptance/config/codecept.dev.env',
defaults: './tests/acceptance/config/codecept.env',
});
require('ts-node/register');
const { configure, cleanReports } = require('codeceptjs-configure');
const REPORT_OUTPUT_DIR = './tests/acceptance/report';
let conf = {
name: 'Rakuma E2E Sanity Android Test',
// tests: './tests/acceptance/specs//.spec.ts',
output: REPORT_OUTPUT_DIR,
bootstrap: (callback) => {
cleanReports({ path: REPORT_OUTPUT_DIR, relativePath: '/', callback });
},
retry: 1,
timeout: 300,
helpers: {
driver_helper: {
require: './tests/acceptance/helpers/driver.helper',
},
PlaywrightHelper: {
require: 'codeceptjs-configure/lib/helpers/playwright.helper.js',
},
Appium: {
appiumV2: true,
platform: "Android",
port:4724,
path: '/',
desiredCapabilities: {
'automationName': "UiAutomator2",
'appPackage': "",
'appActivity': "",
//appWaitActivity:"",
'noReset': true,
'forceAppLaunch': true,
'newCommandTimeout': 60000,
'appWaitDuration': 60000,
'deviceReadyTimeout': 60000,
'printPageSourceOnFindFailure': true,
'chromedriverUseSystemExecutable': true,
}
},
ChaiWrapper: {
require: 'codeceptjs-chai',
// require: 'codeceptjs-assert',
},
DataHelper: {
require: './tests/acceptance/helpers/data.helper',
},
HostHelper: {
require: './tests/acceptance/helpers/host.helper',
env: process.env.TEST_ENVIRONMENT,
tax:process.env.TAX,
},
BrowserHelper: {
require: './tests/acceptance/helpers/browser.helper',
},
Playwright: {
timeout:15000,
chromium: {
}
},
GraphQLDataFactory: {
//endpoint: 'http://10.48.60.12:8848/v1/graphql',
endpoint: 'http://localhost:8848/v1/graphql',
cleanup: true,
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'X-Hasura-Admin-Secret': 'cloveradminsecretkey'
},
factories: {
createItemForUserById: {
query: `mutation createItemForUserById($userId: String!, $itemInfo: ItemInfoBody) {
createItemForUserById(userId: $userId, itemInfo:$itemInfo) {
brand
carriage
catagories
category
deliveryArea
deliveryDate
deliveryMethod
detail
id
name
pcUrl
requestRequired
sellPrice
size
status
userId
itemHash
}
}`,
factory: 'tests/acceptance/factories/items',
revert: (data) => ({
query: `mutation deleteItem($userId: String!, $itemId: String!) {
deleteItemForUser(params: {item_id: $itemId, user_id: $userId}) {
item_id
}
}`,
variables: { userId: data.userId, itemId: data.id},
}),
},
getAvaliableUser: {
query: `mutation getAvaliableUser($count: Int!, $options: UserOptions) {
getAvaliableUser(params: {count: $count, options: $options}) {
users {
user_id
password
email
auth_token
name
session_id
}
}
}`,
factory: 'tests/acceptance/factories/users',
revert: (data) => ({
query: `mutation releaseUsers($ids: [String!]) {
releaseUsers(params: {user_ids: $ids}) {
effect_rows
}
}`,
variables: { ids: data.users.map(ele => ele.user_id) },
}),
},
}
},
GraphQL: {
endpoint: 'http://localhost:8848/v1/graphql',
defaultHeaders: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'X-Hasura-Admin-Secret': 'cloveradminsecretkey'
},
},
REST: {
endpoint: 'https://internal-tenant.userfirst.jp/',
prettyPrintJson: true,
// onRequest: (request) => {
// request.headers.auth = '123';
},
FileSystem: {},
},
multiple: {
localcombo: {
browsers: [
{
browser: 'firefox',
}
]
}
},
include: {
I: './custom_steps.ts',
sideBar: './tests/acceptance/components/sidebar.ts',
mediaList: './tests/acceptance/components/media-list.ts',
header: './tests/acceptance/components/header.ts',
},
plugins: {
tryTo: {
enabled: true,
},
retryTo: {
enabled: true,
pollInterval: 2000,
},
wdio: {
enabled: false,
services: ['appium']
},
retryFailedStep: {
enabled: true,
retries: 5,
},
rerun:{
minSuccess: 10,
maxReruns: 10
},
allure: {
enabled: true,
require: '@codeceptjs/allure-legacy',
}
}
};
exports.config = configure.create(conf);
Metadata
Metadata
Assignees
Labels
No labels