File indexing completed on 2024-04-21 16:12:39
0001 #!/usr/bin/env python3 0002 0003 # SPDX-License-Identifier: MIT 0004 # SPDX-FileCopyrightText: 2016 Microsoft Corporation. All rights reserved. 0005 # SPDX-FileCopyrightText: 2021-2022 Harald Sitter <sitter@kde.org> 0006 0007 import unittest 0008 from appium import webdriver 0009 from appium.webdriver.common.appiumby import AppiumBy 0010 from selenium.webdriver.support.ui import WebDriverWait 0011 import time 0012 0013 0014 class SimpleCalculatorTests(unittest.TestCase): 0015 0016 @classmethod 0017 0018 def setUpClass(self): 0019 desired_caps = {} 0020 desired_caps["app"] = "plasmawindowed org.kde.plasma.calculator" 0021 desired_caps["timeouts"] = {'implicit': 10000} 0022 self.driver = webdriver.Remote( 0023 command_executor='http://127.0.0.1:4723', 0024 desired_capabilities=desired_caps) 0025 0026 def setUp(self): 0027 self.driver.find_element(by=AppiumBy.NAME, value="AC").click() 0028 wait = WebDriverWait(self.driver, 5) 0029 wait.until(lambda x: self.getresults() == '0') 0030 0031 def tearDown(self): 0032 if not self._outcome.result.wasSuccessful(): 0033 self.driver.get_screenshot_as_file("failed_test_shot_{}.png".format(self.id())) 0034 0035 @classmethod 0036 def tearDownClass(self): 0037 self.driver.quit() 0038 0039 def getresults(self): 0040 displaytext = self.driver.find_element(by='description', value="Result").text 0041 return displaytext 0042 0043 def test_initialize(self): 0044 self.driver.find_element(by=AppiumBy.NAME, value="AC").click() 0045 self.driver.find_element(by=AppiumBy.NAME, value="7").click() 0046 self.assertEqual(self.getresults(),"7") 0047 0048 def test_addition(self): 0049 self.driver.find_element(by=AppiumBy.NAME, value="1").click() 0050 self.driver.find_element(by=AppiumBy.NAME, value="+").click() 0051 self.driver.find_element(by=AppiumBy.NAME, value="7").click() 0052 self.driver.find_element(by=AppiumBy.NAME, value="=").click() 0053 self.assertEqual(self.getresults(),"8") 0054 0055 def test_combination(self): 0056 self.driver.find_element(by=AppiumBy.NAME, value="7").click() 0057 self.driver.find_element(by=AppiumBy.NAME, value="×").click() 0058 self.driver.find_element(by=AppiumBy.NAME, value="9").click() 0059 self.driver.find_element(by=AppiumBy.NAME, value="+").click() 0060 self.driver.find_element(by=AppiumBy.NAME, value="1").click() 0061 self.driver.find_element(by=AppiumBy.NAME, value="=").click() 0062 self.driver.find_element(by=AppiumBy.NAME, value="÷").click() 0063 self.driver.find_element(by=AppiumBy.NAME, value="8").click() 0064 self.driver.find_element(by=AppiumBy.NAME, value="=").click() 0065 self.assertEqual(self.getresults(),"8") 0066 0067 def test_division(self): 0068 self.driver.find_element(by=AppiumBy.NAME, value="8").click() 0069 self.driver.find_element(by=AppiumBy.NAME, value="8").click() 0070 self.driver.find_element(by=AppiumBy.NAME, value="÷").click() 0071 self.driver.find_element(by=AppiumBy.NAME, value="1").click() 0072 self.driver.find_element(by=AppiumBy.NAME, value="1").click() 0073 self.driver.find_element(by=AppiumBy.NAME, value="=").click() 0074 self.assertEqual(self.getresults(),"8") 0075 0076 def test_multiplication(self): 0077 self.driver.find_element(by=AppiumBy.NAME, value="9").click() 0078 self.driver.find_element(by=AppiumBy.NAME, value="×").click() 0079 self.driver.find_element(by=AppiumBy.NAME, value="8").click() 0080 self.driver.find_element(by=AppiumBy.NAME, value="=").click() 0081 self.assertEqual(self.getresults(),"72") 0082 0083 def test_subtraction(self): 0084 self.driver.find_element(by=AppiumBy.NAME, value="9").click() 0085 self.driver.find_element(by=AppiumBy.NAME, value="-").click() 0086 self.driver.find_element(by=AppiumBy.NAME, value="1").click() 0087 self.driver.find_element(by=AppiumBy.NAME, value="=").click() 0088 self.assertEqual(self.getresults(),"8") 0089 0090 0091 if __name__ == '__main__': 0092 unittest.main()