小编Sho*_*tar的帖子

链表在数组上有什么优势,反之亦然?

请解释链表在数组上的优势.与链表相比,使用数组还有什么优势.

此致,Shoaib

data-structures

23
推荐指数
3
解决办法
9万
查看次数

如何在机器人框架中水平滚动特定元素(参见附图)?

我可以滚动窗口,但是有什么方法可以滚动窗口中存在的某些特定元素(如网格)?网格也有类似于窗口的滚动条,如下图所示

我找到了这个解决方案。

Execute Javascript |  window.document.getElementById("your id goes here").scrollIntoView(true);
Run Code Online (Sandbox Code Playgroud)

但不幸的是,在我的情况下,没有为我想要滚动的特定元素(网格)定义“id”。有没有其他解决办法,我尝试了很多,但还没有成功。

在此输入图像描述

滚动条的 HTML 标签 在此输入图像描述

python robotframework

5
推荐指数
1
解决办法
1万
查看次数

如何在Python Selenium中实现类似TestNG的功能或在一个测试套件中添加多个单元测试?

假设我有这两个鼻子测试ExampleTest1.py和ExampleTest2.py

 ExampleTest1.py
 class ExampleTest1(TestBase):
            """
            """

        def testExampleTest1(self):
            -----
            -----

    if __name__ == "__main__":
        import nose
        nose.run()

---------------
ExampleTest2.py
class ExampleTest2(TestBase):
        """
        """

        def testExampleTest2(self):
            -----
            -----

    if __name__ == "__main__":
        import nose
        nose.run()
Run Code Online (Sandbox Code Playgroud)

现在,我想从一个套件中运行数百个测试文件。

我正在寻找类似TestNG功能的东西,例如testng.xml,在这里我可以添加所有应该逐个运行的测试文件

 <suite name="Suite1">
      <test name="ExampleTest1">
        <classes>
           <class name="ExampleTest1" />          
        </classes>
      </test>  
      <test name="ExampleTest2">
        <classes>
           <class name="ExampleTest2" />          
        </classes>
      </test>  
    </suite> 
Run Code Online (Sandbox Code Playgroud)

如果python中没有testng.xml之类的功能,那么还有什么其他方法可以创建测试套件并在其中包含我所有的python测试呢?谢谢

python selenium unit-testing nose python-unittest

5
推荐指数
1
解决办法
1万
查看次数

如何切换到窗口身份验证弹出窗口并输入凭据?

打开应用程序URL后,用户将被重定向到登录页面,其中有一个登录按钮.

driver.get("abc.com")
Run Code Online (Sandbox Code Playgroud)

现在,当用户单击"登录"按钮时,URL在同一窗口中更改,表示它变为xyz.com,并显示用于登录目的的身份验证弹出窗口,类似于下图所示的图像. 在此输入图像描述

要在身份验证窗口中输入用户名和密码,我尝试了以下代码

shell = win32com.client.Dispatch("WScript.Shell")
shell.Sendkeys("username")
time.sleep(1)
shell.Sendkeys("{TAB}")
time.sleep(1)
shell.Sendkeys("password") 
time.sleep(1)
shell.Sendkeys("{ENTER}")
time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

它没用.然后我尝试使用上面的代码直接打开Windows身份验证弹出窗口(通过点击登录按钮后复制URL),它工作正常

driver.get("xyz.com")//instead of abc.com my application URL
Run Code Online (Sandbox Code Playgroud)

我有点困惑.如果我打开我的应用程序URL abc.com,单击登录按钮,使用autoit,它没有输入凭据.但是,如果我直接发送窗口身份验证URL xyz.com而不是app URL abc.com并使用autoit,它就可以工作.

任何人都可以建议我在这里缺少什么?我也尝试在点击登录按钮后切换窗口,考虑其新的URL然后自动命令,但它仍然无法正常工作.

driver.switch_to_window(driver.window_handles[1])
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

注意:我注意到点击登录按钮,窗口无限加载,光标在Windows身份验证poup的用户名文本字段上处于活动状态.此外,一旦出现Windows身份验证窗口,selenium命令都不起作用,也没有自动命令.

python java selenium

5
推荐指数
1
解决办法
5027
查看次数

如何使用python(加上java)处理selenium中的windows身份验证弹出窗口

在此输入图像描述

我尝试了以下代码,但它对我不起作用

from selenium import webdriver
driver=webdriver.Chrome('D:/BrowsersDriver/chromedriver.exe')
driver.get('https://username:password@www.engprod-charter.net/')
Run Code Online (Sandbox Code Playgroud)

后来我尝试在Java中使用相同的方法

driver.get(' https:// username:password@www.engprod-charter.net/ ')

但不幸的是,它在任何浏览器中都不适用于我.我在这里错过了什么吗?

然后我尝试用Java中的AutoIT

Runtime.getRuntime().exec("D:\\FirefoxWindowAuthentication.exe");
driver.get("https://www.engprod-charter.net/")
Run Code Online (Sandbox Code Playgroud)

它在Firefox和IE中运行良好,但不适用于Chrome.有没有办法,至少我可以使用python在selenium中实现这一点,以及在Java的情况下我缺少的东西.请建议我任何解决方案,尝试了很多

python java selenium

4
推荐指数
2
解决办法
2万
查看次数

为什么我的XPath不根据其标签文本选择链接/按钮?

<a href="javascript:void(0)" title="home">
    <span class="menu_icon">Maybe more text here</span>
    Home
</a>
Run Code Online (Sandbox Code Playgroud)

因此,对于上面的代码,当我编写//a为XPath时,它会突出显示,但是当我编写时//a[contains(text(), 'Home')],它不会被突出显示。我认为这很简单,应该有效。

我的错在哪里

html xml selenium xpath

4
推荐指数
1
解决办法
648
查看次数

如何从unittest框架中的另一个测试调用测试方法?

我编写了类似于以下代码的代码来实现我的要求,但我收到错误消息。

class Test(BaseSetup):

    def test_01_create_record(self):        
        --
    def test_02_edit_record(self):
        --
    def test_03_delete_record(self):   
        --
    def test_04_verify_item_tab(self):
        testObj=Test()
        testObj.test_01_create_record()
        do this....
        testObj.test_03_delete_record()        

if __name__ == '__main__':       
    unittest.main()
Run Code Online (Sandbox Code Playgroud)

这里以上三个测试方法(test_01、test_02 和 test_03)都运行良好,但最后一个测试,即 test_04 失败。它无法使用 test_01 创建记录(尽管它单独工作得很好)。我在上次测试中收到以下错误消息。

self.driver.find_element_by_xpath(self.content_tab_xpath).click()
AttributeError: 'NoneType' object has no attribute 'find_element_by_xpath'
Run Code Online (Sandbox Code Playgroud)

上面的错误消息是针对第一个测试(test_01_create_record)的,只有当我从另一个测试中调用第一个测试方法时,我才会收到错误消息,但是当我单独运行它时,它运行良好。知道我可能会错过什么吗?非常感谢

python selenium unit-testing

3
推荐指数
1
解决办法
2745
查看次数

如何单击python selenium中web元素列表中的第二个元素?

el = driver.find_elements_by_xpath("//div[contains(@class,'statsprogramsgridmodal')]//div[contains(@class,'ui-grid-icon-ok')]")
Run Code Online (Sandbox Code Playgroud)

我已经在 xpath 上面写了找到 web 元素。它给了我三个结果。我想点击第二个网页元素。你能告诉我如何在 python selenium 中完成吗?

python selenium

3
推荐指数
1
解决办法
5012
查看次数

如何在 Robot Framework 中滚动到页面的右下角?

我正在尝试使用下面的代码将控件置于页面右下角,但在我的情况下它不起作用。

Execute JavaScript | window.scrollTo(900,-900);
Run Code Online (Sandbox Code Playgroud)

我也尝试了其他坐标,但仍然没有成功。还有其他方法可以实现这一目标吗?

javascript python selenium robotframework

2
推荐指数
1
解决办法
8229
查看次数