utils/frame-utils.js

const elements = {
	'Фрейм Окно поиска': '//*[@id="fast-search-modal"]//iframe',
};

/**
 * Функция `switchToIFrame` проверяет в каком контексте находится фокус и переключает на противоположный.
 * @param {string} sourceContext - параметр `sourceContext` принимает в качестве значения "iframe" или "родительский"
 * описывающие контекст, на который необходимо переключиться.
 */

export async function switchToIFrame(sourceContext) {
	const iframe = await $(elements[sourceContext]);
	await iframe.waitForDisplayed({ timeout: 10000 });
	await browser.switchFrame(iframe);
	const currentContext = await browser.execute(() => {
		return window.self === window.top ? 'main' : 'iframe';
	});
	console.log(`Текущий контекст: ${currentContext}`);
}

/**
 * Функция `switchToParent` служит для переключения на родительский контекст при обращении к iframe
 */
export async function switchToParent() {
	await browser.switchToParentFrame();
	console.log(`Текущий контекст: родительский`);
}