Page History
...
The following automated test class validates the "Calculator" Windows native application, using several methods (i.e. Tests) for validating each arithmetic operation.
WinAppDriver must be running in the destination machine (i.e. the one having Windows and the "Calculator" application), or Appium Desktop.
Code Block | ||
---|---|---|
| ||
//****************************************************************************** // // Copyright (c) 2016 Microsoft Corporation. All rights reserved. // // This code is licensed under the MIT License (MIT). // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. // //****************************************************************************** import org.junit.*; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.DesiredCapabilities; import java.util.concurrent.TimeUnit; import java.net.URL; import io.appium.java_client.windows.WindowsDriver; public class CalculatorTest { private static WindowsDriver CalculatorSession = null; private static WebElement CalculatorResult = null; @BeforeClass public static void setup() { try { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("app", "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"); CalculatorSession = new WindowsDriver(new URL("http://192.168.56.102:4723/wd/hub"), capabilities); CalculatorSession.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS); CalculatorResult = CalculatorSession.findElementByAccessibilityId("CalculatorResults"); Assert.assertNotNull(CalculatorResult); }catch(Exception e){ e.printStackTrace(); } finally { } } @Before public void Clear() { CalculatorSession.findElementByName("Clear").click(); Assert.assertEquals("0", _GetCalculatorResultText()); } @AfterClass public static void TearDown() { CalculatorResult = null; if (CalculatorSession != null) { CalculatorSession.quit(); } CalculatorSession = null; } @Test public void Addition() { CalculatorSession.findElementByName("One").click(); CalculatorSession.findElementByName("Plus").click(); CalculatorSession.findElementByName("Seven").click(); CalculatorSession.findElementByName("Equals").click(); Assert.assertEquals("8", _GetCalculatorResultText()); } @Test public void Combination() { CalculatorSession.findElementByName("Seven").click(); CalculatorSession.findElementByName("Multiply by").click(); CalculatorSession.findElementByName("Nine").click(); CalculatorSession.findElementByName("Plus").click(); CalculatorSession.findElementByName("One").click(); CalculatorSession.findElementByName("Equals").click(); CalculatorSession.findElementByName("Divide by").click(); CalculatorSession.findElementByName("Eight").click(); CalculatorSession.findElementByName("Equals").click(); Assert.assertEquals("8", _GetCalculatorResultText()); } @Test public void Division() { CalculatorSession.findElementByName("Eight").click(); CalculatorSession.findElementByName("Eight").click(); CalculatorSession.findElementByName("Divide by").click(); CalculatorSession.findElementByName("One").click(); CalculatorSession.findElementByName("One").click(); CalculatorSession.findElementByName("Equals").click(); Assert.assertEquals("8", _GetCalculatorResultText()); } @Test public void Multiplication() { CalculatorSession.findElementByName("Nine").click(); CalculatorSession.findElementByName("Multiply by").click(); CalculatorSession.findElementByName("Nine").click(); CalculatorSession.findElementByName("Equals").click(); Assert.assertEquals("81", _GetCalculatorResultText()); } @Test public void Subtraction() { CalculatorSession.findElementByName("Nine").click(); CalculatorSession.findElementByName("Minus").click(); CalculatorSession.findElementByName("One").click(); CalculatorSession.findElementByName("Equals").click(); Assert.assertEquals("8", _GetCalculatorResultText()); } protected String _GetCalculatorResultText() { // trim extra text and whitespace off of the display value return CalculatorResult.getText().replace("Display is", "").trim(); } } |
...