Conversation
appium#105. Act II. AppiumDriver became abstract.
|
scroll code looks good. 👍 |
|
Hi! Guys! |
Change log: - MobileElement has become abstract. It implements FindsByAccessibilityId - AndroidElement and IOSElement have been created. - AndroidElement implements FindsByAndroidAutomator. - IOSElement implements FindsByIosAutomation. - Both AppiumDriver and MobileElement implement ScrollsTo. Yeah! MobileElement is scrollable too! - PageFactory facilities are synchronized with changes above.
|
Please look at Jonahss#1 It is from one more temporary fork. Please merge it if it is ok. |
|
I have changed scrollTo and scrollToExact. They return MobileElement. I think it is possible that somebody wants to do something with element. So why does it need to perform search twice? |
Final improvements before 2.0.
|
@TikhomirovSergey What do you think of that? Removing In the future, if we can come up with a good unified way of scrolling on iOS and Android, we could try to implement it into Appium itself. |
|
Hmm... Ok. Let remove it from AndroidElement. But if it needs to be implemented in the future it is always possible to get back to this idea :) |
|
If there is any question I shall return over 2 hours. |
|
I already removed it, look at my latest commit. On Fri, Sep 26, 2014 at 11:41 AM, Sergey Tikhomirov <
|
It is ok! I have seen it.
Actually I meant some questions, issues which could be found and so on. :) But if there is nothing to discuss lets merge it. Have a nice day! |
|
Wahoooooo! On Fri, Sep 26, 2014 at 2:02 PM, Sergey Tikhomirov <[email protected]
|
|
@TikhomirovSergey this test fails, what would you suggest? |
|
I am trying to find the root cause. Is it the single failure? Did you try to rerun this test? I ran page object android tests. There were no failure. It is strange... |
|
By default Appium Field Decorator has 1 second as default time out. Is it possible that element weren't present after 1 second? Actually I use Genymotion instead of Android SDK emulator (it is too slow). |
@AndroidFindBy(uiAutomator = "new UiSelector().resourceId(\"android:id/text1\")")
private List<RemoteWebElement> remoteElementViews;
@AndroidFindBy(uiAutomator = "new UiSelector().resourceId(\"android:id/text1\")")
private RemoteWebElement remotetextVieW;Here is the test which checks the list: @Test
public void areRemoteElementsTest(){
Assert.assertNotEquals(0, remoteElementViews.size());
}It has passed. |
|
I think it is casual failure. If there is only this problem then identical test should be succeed with iOS here: @Test
public void isRemoteElementTest(){
Assert.assertNotEquals(null, remotetextVieW.getText());
} |
|
did it help you? |
|
My answer is here: Jonahss#2 |
|
What are you think about inclusion of information about Genymotion use cases in tutorial ? Have you tried it? It works much faster than Android SDK emulator and ADB recognizes it as a connected device. |
|
Official Appium tests are run on Android SDK Emulators and we only officially support it. |
|
But you can add it to the tutorial sure ^.^ if it works. |
AndroidPageObjectTest improvement.
|
Wow! It is released. Thanks, @Jonahss! Appium works fine with Genymotion. I am not kidding you :) At least all java-client tests for Android are completed successfully, except set/get connection. Sometimes they fail because of an unknown to me reason. There is nothing special to do. |
|
I hope people will appreciate the new solution :) |
|
:D Feel free to add the genymotion tutorial then :) On Tue, Sep 30, 2014 at 12:38 AM, Sergey Tikhomirov <
|
This is just a merge of the "interfacesRefactor` branch, plus reimplementation of ScrollTo.
only doing this as a PR so that @bootstraponline and @TikhomirovSergey can review the scrollTo stuff