mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-26 03:01:51 +08:00
@ -38,6 +38,11 @@ export function onNavigateToTabsBottomRoot(args: EventData) {
|
||||
application._resetRootView({ moduleName: "tab-root/tab-bottom-root" });
|
||||
}
|
||||
|
||||
export function onNavigateToSomePage(args: EventData) {
|
||||
const button = <Button>args.object;
|
||||
button.page.frame.navigate("some-page/some-page");
|
||||
}
|
||||
|
||||
export function onFrameToNestedFrame(args: EventData) {
|
||||
const button = <Button>args.object;
|
||||
button.page.frame.navigate({
|
||||
|
@ -14,6 +14,7 @@
|
||||
<Button text="Page w/ tabs (bottom)" tap="onNavigateToTabsBottomPage" />
|
||||
<Button text="Root tabs (top)" tap="onNavigateToTabsTopRoot" />
|
||||
<Button text="Root tabs (bottom)" tap="onNavigateToTabsBottomRoot" />
|
||||
<Button text="Some page on root" automationText="somePageOnRoot" tap="onNavigateToSomePage" />
|
||||
<Button text="Frame to NestedFrame (non-default transition)" tap="onFrameToNestedFrame" />
|
||||
</StackLayout>
|
||||
</GridLayout>
|
||||
|
55
e2e/nested-frame-navigation/e2e/issues.e2e.spec.ts
Normal file
55
e2e/nested-frame-navigation/e2e/issues.e2e.spec.ts
Normal file
@ -0,0 +1,55 @@
|
||||
import { AppiumDriver, createDriver } from "nativescript-dev-appium";
|
||||
import { Screen } from "./screen";
|
||||
import { suspendTime, dontKeepActivities } from "./config";
|
||||
|
||||
describe("issues", () => {
|
||||
let driver: AppiumDriver;
|
||||
let screen: Screen;
|
||||
|
||||
before(async () => {
|
||||
driver = await createDriver();
|
||||
screen = new Screen(driver);
|
||||
if (dontKeepActivities) {
|
||||
await driver.setDontKeepActivities(true);
|
||||
}
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
if (dontKeepActivities) {
|
||||
await driver.setDontKeepActivities(false);
|
||||
}
|
||||
await driver.quit();
|
||||
console.log("Quit driver!");
|
||||
});
|
||||
|
||||
afterEach(async function () {
|
||||
if (this.currentTest.state === "failed") {
|
||||
await driver.logTestArtifacts(this.currentTest.title);
|
||||
await driver.resetApp();
|
||||
}
|
||||
});
|
||||
|
||||
it("issue-6488", async () => {
|
||||
await screen.loadedHome();
|
||||
const showSomePage = async () => {
|
||||
const somePageBtn = await driver.waitForElement("somePageOnRoot");
|
||||
await somePageBtn.tap();
|
||||
await screen.loadedSomePage();
|
||||
}
|
||||
|
||||
await showSomePage();
|
||||
|
||||
await driver.navBack();
|
||||
await screen.loadedHome();
|
||||
|
||||
await driver.backgroundApp(suspendTime);
|
||||
|
||||
await showSomePage();
|
||||
await driver.navBack();
|
||||
|
||||
await showSomePage();
|
||||
await driver.navBack();
|
||||
|
||||
await screen.loadedHome();
|
||||
});
|
||||
});
|
@ -278,7 +278,7 @@ export class Screen {
|
||||
|
||||
loadedHome = async () => {
|
||||
const lblHome = await this._driver.waitForElement(home);
|
||||
assert.isNotNull(lblHome);
|
||||
assert.isDefined(lblHome);
|
||||
console.log(home + " loaded!");
|
||||
};
|
||||
|
||||
@ -329,7 +329,7 @@ export class Screen {
|
||||
|
||||
loadedPlayersList = async () => {
|
||||
const lblPlayerOne = await this._driver.waitForElement(playersData["playerOneDefault"].name);
|
||||
assert.isNotNull(lblPlayerOne);
|
||||
assert.isDefined(lblPlayerOne);
|
||||
console.log(players + " loaded!");
|
||||
}
|
||||
|
||||
@ -339,7 +339,7 @@ export class Screen {
|
||||
|
||||
loadedTeamsList = async () => {
|
||||
const lblTeamOne = await this._driver.waitForElement(teamsData["teamOneDefault"].name);
|
||||
assert.isNotNull(lblTeamOne);
|
||||
assert.isDefined(lblTeamOne);
|
||||
console.log(teams + " loaded!");
|
||||
}
|
||||
|
||||
@ -349,7 +349,7 @@ export class Screen {
|
||||
|
||||
loadedElement = async (element: string) => {
|
||||
const el = await this._driver.waitForElement(element);
|
||||
assert.isNotNull(el);
|
||||
assert.isDefined(el);
|
||||
console.log(`${element} loaded!`);
|
||||
};
|
||||
|
||||
@ -361,7 +361,7 @@ export class Screen {
|
||||
|
||||
private loadedPage = async (page: string) => {
|
||||
const lblPage = await this._driver.waitForElement(page);
|
||||
assert.isNotNull(lblPage);
|
||||
assert.isDefined(lblPage);
|
||||
console.log(page + " loaded!");
|
||||
};
|
||||
|
||||
@ -373,10 +373,10 @@ export class Screen {
|
||||
|
||||
private loadedItem = async (item: Item) => {
|
||||
const lblItemName = await this._driver.waitForElement(item.name);
|
||||
assert.isNotNull(lblItemName);
|
||||
assert.isDefined(lblItemName);
|
||||
|
||||
const lblItemDescription = await this._driver.waitForElement(item.description);
|
||||
assert.isNotNull(lblItemDescription);
|
||||
assert.isDefined(lblItemDescription);
|
||||
|
||||
console.log(item.name + " loaded!");
|
||||
}
|
||||
|
Reference in New Issue
Block a user