Best Python code snippet using uiautomator
test_mux.py
Source: test_mux.py
1# Copyright 2014 The Kubernetes Authors.2#3# Licensed under the Apache License, Version 2.0 (the "License");4# you may not use this file except in compliance with the License.5# You may obtain a copy of the License at6#7# http://www.apache.org/licenses/LICENSE-2.08#9# Unless required by applicable law or agreed to in writing, software10# distributed under the License is distributed on an "AS IS" BASIS,11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.12# See the License for the specific language governing permissions and13# limitations under the License.14import asyncio15import unittest16from typing import NamedTuple, Optional17from aiok8s.cache.testing.util import async_test18from aiok8s.util import wait19from aiok8s.watch import watch20from aiok8s.watch.mux import Broadcaster, FullChannelBehavior21class TestBrodcaster(unittest.TestCase):22 @async_test23 async def test(self):24 table = [25 {"type": watch.EventType.ADDED, "object": MyType("foo", "hello world 1")},26 {"type": watch.EventType.ADDED, "object": MyType("bar", "hello world 2")},27 {28 "type": watch.EventType.MODIFIED,29 "object": MyType("foo", "goodbye world 3"),30 },31 {"type": watch.EventType.DELETED, "object": MyType("bar", "hello world 4")},32 ]33 m = Broadcaster(0, FullChannelBehavior.WAIT_IF_CHANNEL_FULL)34 test_watchers = 235 async def coro(watcher, w):36 table_line = 037 async for event in w:38 self.assertEqual(39 event,40 table[table_line],41 msg=f"Watcher {watcher}, line {table_line}",42 )43 table_line += 144 tasks = [45 asyncio.ensure_future(coro(i, await m.watch()))46 for i in range(test_watchers)47 ]48 for item in table:49 await m.action(item["type"], item["object"])50 await m.shutdown()51 await asyncio.gather(*tasks)52 @async_test53 async def test_watcher_close(self):54 m = Broadcaster(0, FullChannelBehavior.WAIT_IF_CHANNEL_FULL)55 w = await m.watch()56 w2 = await m.watch()57 await w.stop()58 await m.shutdown()59 async for _ in w:60 self.fail("Stop didn't work?")61 async for _ in w2:62 self.fail("Shutdown didn't work?")63 await w.stop()64 await w2.stop()65 @async_test66 async def test_watcher_stop_deadlock(self):67 done = asyncio.Event()68 m = Broadcaster(0, FullChannelBehavior.WAIT_IF_CHANNEL_FULL)69 async def coro(w0, w1):70 async def aw0():71 async for _ in w0:72 await w1.stop()73 async def aw1():74 async for _ in w1:75 await w0.stop()76 await asyncio.wait(77 [asyncio.ensure_future(aw0()), asyncio.ensure_future(aw1())],78 return_when=asyncio.FIRST_COMPLETED,79 )80 done.set()81 asyncio.ensure_future(coro(await m.watch(), await m.watch()))82 await m.action(watch.EventType.ADDED, MyType())83 await asyncio.wait_for(done.wait(), wait.FOREVER_TEST_TIMEOUT)84 await m.shutdown()85 @async_test86 async def test_drop_if_channel_full(self):87 m = Broadcaster(1, FullChannelBehavior.DROP_IF_CHANNEL_FULL)88 event1 = {89 "type": watch.EventType.ADDED,90 "object": MyType("foo", "hello world 1"),91 }92 event2 = {93 "type": watch.EventType.ADDED,94 "object": MyType("bar", "hello world 2"),95 }96 watches = [await m.watch() for _ in range(2)]97 await m.action(event1["type"], event1["object"])98 await m.action(event2["type"], event2["object"])99 await m.shutdown()100 async def coro(watcher, w):101 e1 = await w.__anext__()102 self.assertEqual(e1, event1, msg=f"Watcher {watcher}")103 async for e2 in w:104 self.fail(105 f"Watcher {watcher} received second event {e2!r} "106 f"even though it shouldn't have."107 )108 tasks = [asyncio.ensure_future(coro(i, w)) for i, w in enumerate(watches)]109 await asyncio.gather(*tasks)110class MyType(NamedTuple):111 id: Optional[str] = None112 value: Optional[str] = None113if __name__ == "__main__":...
run_failure.py
Source: run_failure.py
1import os2import sys3def test(arg):4 return os.system("bin/pytest -v %s" % arg)5def main(args):6 if not args:7 print(8 "Run as bin/python run_failure.py <test>, for example: \n"9 "bin/python run_failure.py "10 "kazoo.tests.test_watchers:KazooChildrenWatcherTests"11 )12 return13 arg = args[0]14 i = 015 while 1:16 i += 117 print("Run number: %s" % i)18 ret = test(arg)19 if ret != 0:20 break21if __name__ == "__main__":...
Check out the latest blogs from LambdaTest on this topic:
Web applications continue to evolve at an unbelievable pace, and the architecture surrounding web apps get more complicated all of the time. With the growth in complexity of the web application and the development process, web application testing also needs to keep pace with the ever-changing demands.
Before we discuss the Joomla testing, let us understand the fundamentals of Joomla and how this content management system allows you to create and maintain web-based applications or websites without having to write and implement complex coding requirements.
“Test frequently and early.” If you’ve been following my testing agenda, you’re probably sick of hearing me repeat that. However, it is making sense that if your tests detect an issue soon after it occurs, it will be easier to resolve. This is one of the guiding concepts that makes continuous integration such an effective method. I’ve encountered several teams who have a lot of automated tests but don’t use them as part of a continuous integration approach. There are frequently various reasons why the team believes these tests cannot be used with continuous integration. Perhaps the tests take too long to run, or they are not dependable enough to provide correct results on their own, necessitating human interpretation.
With new-age project development methodologies like Agile and DevOps slowly replacing the old-age waterfall model, the demand for testing is increasing in the industry. Testers are now working together with the developers and automation testing is vastly replacing manual testing in many ways. If you are new to the domain of automation testing, the organization that just hired you, will expect you to be fast, think out of the box, and able to detect bugs or deliver solutions which no one thought of. But with just basic knowledge of testing, how can you be that successful test automation engineer who is different from their predecessors? What are the skills to become a successful automation tester in 2019? Let’s find out.
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!