knowedge about Selenium Cost of maintaining E2E test was too high In Japan, most QAs don't have technical background. Lack skills to use Selenium. Even commercial tools (Katalon, Ranorex, etc.) were too difficult for them QAs Engineers
to spread E2E test automation No-code tool using Selenium/Appium internally Cloud service with easy setup Self healing AI to reduce maintenance costs Concepts
"\"Name\" input area", "value": "Demo user" }, ... ] Test script Database Drag & Drop Store A command is added depending on the dropped item Scan result
of execution methods. Server Local Local Server Database Database Cloud Browser device Local Browser device Cloud test Local test Script Script MagicPod Desktop
→ id → name → text() → alt → value → title → aria-label → placeholder → class: id = userName tag name + unique id xpath = //button[@id='log in'] label xpath = //input[@id=//label[text()='User name']/@for]] tag name xpath = //input[2] child xpath = //div[@id='mainArea']/button[1] parent xpath = //span[text()='log in']/parent::button[1] sibling xpath = //div[text()='Name']/following-sibling::input[1] full path xpath xpath = /body[1]/div[1]/div[2]/div[3]/a
More sophisticated implicit wait Wait for element position to be settled like Playwright Retry for stale element error fdffff WebElement e = driver.findElement( By.id("logIn")); e.click();
Automatically calculate which context to switch Frame for web test and webview for native mobile app test Selenium MagicPod “OK” Button id=OK frame: iframe1
Log out once if being logged in If UI element "Logout" button is visible Click "Logout" button Navigate to URL https://hotel.testplanisphere.dev/en-US/signup.html End branch // Sing up by using an unique email address Store unique value generated based on the current time to variable UNIQUE_KEY Input test-user${UNIQUE_KEY}@example.com to "Email" input area Input ${PASSWORD} to "Password" input area Input ${PASSWORD} to "Password(confirmation)" input area Input Test user to "Name" input area Input Tokyo, Japan to "Address" input area Input 00011122233 to "Tel" input area Select I do not answer. from "Gender" combo box Input 2000-07-04 to "Date of birth" input area Check "Receive notification" checkbox Click "Sign up" button // Assert values set on the previous page are correctly displayed Assert value of UI element Email value equals test-user${UNIQUE_KEY}@example.com Assert value of UI element Name value equals Test user Assert value of UI element Membership value equals Premium Assert value of UI element Address value equals Tokyo, Japan Assert value of UI element Tel value equals 00011122233 Assert value of UI element Gender value equals not answered Assert value of UI element Date of birth value equals July 4, 2000 Assert value of UI element Notification value equals received // Confirm that the user is successfully created and log-in by the user succeeds Click "Logout" button Click Login Input test-user${UNIQUE_KEY}@example.com to "Email" input area Input ${PASSWORD} to "Password" input area Click "Login" button Assert UI element "MyPage" header exists Human-readable text The script "Check that signup works correctly" automates end-to-end testing for user signup on a hotel website: 1. It ensures logout if the user is already logged in. 2. Fills out the signup form with unique details like email, password, name, etc. 3. Submits the form and verifies entered data's correctness on the confirmation page. 4. Confirms successful signup by logging out and logging back in, checking for the "MyPage" header's presence. Test script Summary MagicPod public API Generative AI