skopix 2.0.61 → 2.0.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/commands/dashboard.js +16 -14
- package/package.json +1 -1
|
@@ -3956,21 +3956,23 @@ async function startStepTester(testerId, url, selector, mode, steps) {
|
|
|
3956
3956
|
await ctx.exposeFunction('__skopixPreviewRun', async ({ index }) => {
|
|
3957
3957
|
const s = steps[index];
|
|
3958
3958
|
if (!s) return;
|
|
3959
|
-
await page.evaluate((i, status) => { if(window.__skopixUpdatePreview) window.__skopixUpdatePreview(i, null, status); }, index, `Running step ${index+1}/${steps.length}...`).catch(()=>{});
|
|
3959
|
+
await page.evaluate(({ i, status }) => { if(window.__skopixUpdatePreview) window.__skopixUpdatePreview(i, null, status); }, { i: index, status: `Running step ${index+1}/${steps.length}...` }).catch(()=>{});
|
|
3960
3960
|
const result = await executeStepTesterAction(page, { selector: s.stableSelector||s.selector, action: s.action, value: s.value||'', assertType: s.assertType });
|
|
3961
|
-
|
|
3962
|
-
|
|
3963
|
-
|
|
3961
|
+
const msg = result.passed ? (index+1 >= steps.length ? `✓ All ${steps.length} steps passed!` : `✓ Step ${index+1} passed`) : `✗ Step ${index+1} failed`;
|
|
3962
|
+
await page.evaluate(({ i, r, msg }) => {
|
|
3963
|
+
if(window.__skopixUpdatePreview) window.__skopixUpdatePreview(i, r, msg);
|
|
3964
|
+
}, { i: index, r: { passed: result.passed, error: result.error||null }, msg }).catch(()=>{});
|
|
3964
3965
|
});
|
|
3965
3966
|
|
|
3966
3967
|
await ctx.exposeFunction('__skopixPreviewRunAll', async ({ fromIndex }) => {
|
|
3967
3968
|
for (let i = fromIndex; i < steps.length; i++) {
|
|
3968
3969
|
const s = steps[i];
|
|
3969
|
-
await page.evaluate((i, total) => { if(window.__skopixUpdatePreview) window.__skopixUpdatePreview(i, null, `Running step ${i+1}/${total}...`); }, i, steps.length).catch(()=>{});
|
|
3970
|
+
await page.evaluate(({ i, total }) => { if(window.__skopixUpdatePreview) window.__skopixUpdatePreview(i, null, `Running step ${i+1}/${total}...`); }, { i, total: steps.length }).catch(()=>{});
|
|
3970
3971
|
const result = await executeStepTesterAction(page, { selector: s.stableSelector||s.selector, action: s.action, value: s.value||'', assertType: s.assertType });
|
|
3971
|
-
|
|
3972
|
-
|
|
3973
|
-
|
|
3972
|
+
const msg = result.passed ? (i+1 >= steps.length ? `✓ All ${steps.length} steps passed!` : `Running...`) : `✗ Step ${i+1} failed — fix and retry`;
|
|
3973
|
+
await page.evaluate(({ i, r, msg }) => {
|
|
3974
|
+
if(window.__skopixUpdatePreview) window.__skopixUpdatePreview(i, r, msg);
|
|
3975
|
+
}, { i, r: { passed: result.passed, error: result.error||null }, msg }).catch(()=>{});
|
|
3974
3976
|
if (!result.passed) break;
|
|
3975
3977
|
await new Promise(r => setTimeout(r, 400));
|
|
3976
3978
|
}
|
|
@@ -4093,17 +4095,17 @@ async function startStepTester(testerId, url, selector, mode, steps) {
|
|
|
4093
4095
|
// STEP TESTER MODE — register expose functions FIRST
|
|
4094
4096
|
await ctx.exposeFunction('__skopixTesterRun', async ({ sel, action, value }) => {
|
|
4095
4097
|
const result = await executeStepTesterAction(page, { selector: sel, action, value });
|
|
4096
|
-
await page.evaluate((passed
|
|
4098
|
+
await page.evaluate(({ passed }) => {
|
|
4097
4099
|
const el = document.getElementById('__skopix_result');
|
|
4098
4100
|
if (el) { el.textContent = passed ? '✓' : '✗'; el.style.color = passed ? '#34d399' : '#ef4444'; }
|
|
4099
|
-
},
|
|
4101
|
+
}, { passed: result.passed }).catch(async () => {
|
|
4100
4102
|
await new Promise(r => setTimeout(r, 500));
|
|
4101
|
-
await page.evaluate((passed) => {
|
|
4103
|
+
await page.evaluate(({ passed }) => {
|
|
4102
4104
|
const el = document.getElementById('__skopix_result');
|
|
4103
4105
|
if (el) { el.textContent = passed ? '✓' : '✗'; el.style.color = passed ? '#34d399' : '#ef4444'; }
|
|
4104
|
-
}, result.passed).catch(() => {});
|
|
4106
|
+
}, { passed: result.passed }).catch(() => {});
|
|
4105
4107
|
});
|
|
4106
|
-
await page.evaluate((passed, sel) => {
|
|
4108
|
+
await page.evaluate(({ passed, sel }) => {
|
|
4107
4109
|
try {
|
|
4108
4110
|
const target = document.querySelector(sel);
|
|
4109
4111
|
if (target) {
|
|
@@ -4112,7 +4114,7 @@ async function startStepTester(testerId, url, selector, mode, steps) {
|
|
|
4112
4114
|
setTimeout(() => { target.style.outline = orig; }, 1500);
|
|
4113
4115
|
}
|
|
4114
4116
|
} catch {}
|
|
4115
|
-
}, result.passed, sel).catch(() => {});
|
|
4117
|
+
}, { passed: result.passed, sel }).catch(() => {});
|
|
4116
4118
|
});
|
|
4117
4119
|
|
|
4118
4120
|
await ctx.exposeFunction('__skopixTesterStop', async () => {
|
package/package.json
CHANGED