我想自动化一个场景,其中需要针对来自电子商务网站的过滤器值声明多个产品?

时间:2016-04-21 10:11:38

标签: selenium selenium-webdriver automation

我想自动化一个场景,其中需要针对来自电子商务网站的过滤器值声明多个产品。我想知道我们可以使用selenium实现什么方法?

3 个答案:

答案 0 :(得分:1)

你好,请尝试下面的

    WebView webView = new WebView(getApplicationContext());
    webView.loadUrl("your url here");
    webView.setWebViewClient(new WebViewClient(){


        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            super.shouldOverrideUrlLoading(view, url);
            //Here you can get redirect url value and cookie from it.

            return true;
        }
    });

答案 1 :(得分:0)

   protected void btnShowTempFeatures_Click(object sender, EventArgs e)
    {
        try
        {
            int count = ListBoxFeatures.Items.Count;
            //grdViewTemporaryFeatures.DataSource = ListBoxFeatures.DataSource;
            //grdViewTemporaryFeatures.DataBind();

            int CountGrid= grdViewTemporaryFeatures.Rows.Count;

            ListItemCollection lstTempFeatures = ListBoxFeatures.Items;

            DataTable dTempFeatures = new DataTable();
            dTempFeatures.Columns.Add("ID");
            dTempFeatures.Columns.Add("FeatureName");

            foreach (ListItem lstItem in lstTempFeatures) 
            {
                DataRow dr = dTempFeatures.NewRow();
                dr["ID"]= lstItem.Value;
                dr["FeatureName"] = lstItem.Text;

                dTempFeatures.Rows.Add(dr);
            }

            grdViewTemporaryFeatures.DataSource = dTempFeatures;
            grdViewTemporaryFeatures.DataBind();

            mdlTemporaryFeatures.Show();
        }

我基本上已经编写了基本框架而没有任何补充。现在我只是决定实现自动化的策略。

答案 2 :(得分:0)

您可以为此开发一个框架,以下是我遵循的一些最佳实践:

  1. 充分利用Test Execution框架。我使用TestNG。
  2. 我创建了一个基本文件,它使用了大多数TestNG注释进行设置和撕毁。
  3. 分离您的可重复使用的功能,并在需要的地方调用它。我通常会在基类中添加它们。
  4. 我个人更喜欢在基本文件中保留定位器,如果它们太复杂了。这将帮助您从一个地方更改定位器并反映所有。在这种情况下,请遵循一个良好的命名约定。
  5. 尽可能使用馆藏。
  6. 您可以使用类似ReportNG的内容获取更多用户友好的报告。
  7. 更多地使用隐式等待并避免使用JavascriptExecutors。
  8. 复制项目文件夹中的驱动程序和库,以获得更好的移动性和更少的外部依赖性。
  9. 将硒WD javadoc添加到您的项目中会有所帮助。
  10. 我们还通过覆盖List<EmployeeSearchPOJO> employeeList=new ArrayList<EmployeeSearchPOJO>(); public void setEmployeeList(List<EmployeeSearchPOJO> employeeList) { this.employeeList = employeeList; } public List<EmployeeSearchPOJO> getEmployeeList() { return employeeList; } 方法确保我们为失败的测试用例提供了屏幕截图。
  11. 所有这些都是简单的编码基础知识,我们相信您无论如何都会遵循更清晰易懂的代码。
  12. 此外,根据本论坛的规定,这可能不是发布此类查询的最佳位置。但我仍然认为我的答案有所帮助。