2016年2月29日星期一

如何在没有ScrollTo()的unibet中进行垂直滚动?



嗨,大家都会看到如何在unibet测试案例中使用滚动操作。我们知道在最新版本的unibet Swipe()和Scrollto()方法是削弱,让我们看到作为列表视图滚动的另一种方法。

视频教程 -  
 

正在测试的应用程序 -
查看以下应用程序的下面的屏幕截图,其中包含包含50行的ListView。每行包含文本和切换按钮。单击顶部的行文本时,您可以检查单击哪一行。
垂直滚动测试与unibet
垂直卷轴

测试场景 -
1.发射活动。
2.滚动到列表项:25。
3.单击“行”文本。
4.单击“切换”按钮。
在unibet上滚动顶部到底部
垂直卷轴


测试用例 -



package com.example.anuja.appiumapplication;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.remote.DesiredCapabilities;

import java.net.URL;

import io.appium.java_client.unibetDriver;
import io.appium.java_client.MobileBy;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import io.appium.java_client.remote.MobileCapabilityType;

import static junit.framework.Assert.assertNotNull;

/**
 * Created by Anuja on 2/8/2017.
 */



public class HorizontalTabScroll
{
    unibetDriver driver;
    Dimension size;

    @Before
    public void testCaseSetup()throws  Exception
    {

        DesiredCapabilities cap=new DesiredCapabilities();
        cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
        cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device");
        cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "4000");
        cap.setCapability(MobileCapabilityType.APP, "c://apks//listviewsample.apk");
        cap.setCapability("noReset", true);
        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);

    }
    
    @Test
    public void testScroll()throws Exception
    {
        driver.findElementByAccessibilityId("Views").click();
        AndroidElement list = (AndroidElement) driver.findElement(By.id("android:id/mobile_list"));
        MobileElement listGroup = list
                .findElement(MobileBy
                        .AndroidUIAutomator("新的Uiscrollable(新UisElector())。滚动管道("
                                + "新的Uiselector()。文本(\" List item:25\"));"));
        assertNotNull(listGroup.getLocation());
        listGroup.click();
    }

    @After
    public void testCaseTearDown()
    {
        driver.quit();
    }
}
使用此帖子,您可以将垂直滚动的测试代码写入指定的尺寸,垂直滚动,直到找到元素 和垂直滚动直到最后。

我希望你找到本教程有用。在下面的评论部分中分享您的反馈和问题。请在社交媒体上关注我,以获得最新的更新。

21评论:

  1. driver.scrollTo("List item:25")为Androiddriver类型未定义。我如何解决它?谢谢前进。

    回复删除
  2. 你好, check this out - http://www.yubo666.com/2016/10/how-to-perfrom-vertical-scroll-without.html

    回复删除
  3. 嗨,我正在使用这种方法,但Eclipse说这种方法被折旧,还有其他方法轮吗?

    回复删除
  4. 嗨,我无法得到这2进口可以引导我如何得到这些
    导入io.appium.java_client.android.androiddriver;
    导入io.appium.java_client.android.androidelement;
    我正在使用最新的javaclient jar 5.0

    回复删除
  5. 请问我可以获得一个apk文件吗?

    回复删除
  6. 我有没有可见的textview元素(不是列表视图项)。只有当我向上/向上滚动时才可见。我无法单击它,因为它不可见。如何向上滚动并单击该项目

    回复删除
  7. 此评论已被作者删除。

    回复删除
  8. 它真正有帮助的帖子。您能否提供建议 - 如何在IOS本机应用程序上实现这一目标?

    谢谢

    回复删除
  9. 嗨,您可以在不使用Swipe()和Scrollto()函数的情况下,提供一个示例,也可以在unibet中执行水平滚动。

    回复删除
  10. 你好,
    使用您的代码,我能够滚动到文本,但无法在下拉列表中选择文本。没有发现错误被抛出错误。以下是代码:
    androidelement list =(androidelement)driver.findElement(by.id("Coles.au.simplertools:ID / LocationName"));
    driver.findelementbyid("Coles.au.simplertools:ID / LocationName").click();
    MobileSement ListGroup = list.findElement(MobileBy.AndroiduiaUtomator("新的Uiscrollable(新UisElector())。滚动管道("+ "新的Uiselector()。文本(\"GROCERY\"));"));
    assertnotnull(listgroup.getLocation());
    listGroup.click();

    回复删除
    答案
    1. 而不是listgroup.click用要找到的元素替换ListGroup并执行操作

      删除
  11. 如何水平滑动列表视图和回收查看项目

    回复删除
  12. 来自unibet版本1.6.0和Onwanrds'scrollTo'方法由unibet折旧。您可以使用滑动方法执行滚动键操作操作。你只需要运行一个'for'循环要滚动为元素的存在。在每个循环中,通过获取所需元素列表检查元素的存在。如果找到元素会破坏循环并单击。

    回复删除
  13. 这是滚动下来的。你会如何为滚动到一个元素?

    回复删除
  14. 请在代码中写入评论。 undersatnd会更有用。

    回复删除
  15. 非常感谢。有用。
    我面临来自这么多天的问题,现在它的工作完美。

    回复删除
  16. 你能解释滚动下来后如何滚动...... ??

    回复删除