我正在使用Selenium WebDriver和Python编码
我到处寻找,我能找到的最好的东西是用不同语言写的东西.我还尝试在Selenium IDE上使用导出工具,但是当我查看数据时,表示该函数不支持导出.
编辑:我需要在浏览器与一个更大的分辨率打开的原因是因为,我测试的Web应用程序是支持平板电脑的分辨率等等要素,具体取决于浏览器窗口的分辨率是不同的.
这是我从IDE导出的脚本,有一些修改.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
import unittest, time, re
from Funk_Lib import RS
class CreatingEditingDeletingVault(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "http://cimdev-qa40/"
self.verificationErrors = []
def test_creating_editing_deleting_vault(self):
driver = self.driver
driver.get(self.base_url + "/Login?contoller=Home")
driver.find_element_by_id("UserName").click()
driver.find_element_by_id("UserName").clear()
driver.find_element_by_id("UserName").send_keys("user@gocodigo.com")
driver.find_element_by_name("Password").click()
driver.find_element_by_name("Password").clear()
driver.find_element_by_name("Password").send_keys("Codigo#123")
driver.find_element_by_id("fat-btn").click()
driver.get(self.base_url + "/Content/Vaults/")
driver.find_element_by_link_text("Content").click()
driver.find_element_by_link_text("Vaults").click()
driver.find_element_by_css_selector("button.btn.dropdown-toggle").click()
driver.find_element_by_link_text("New vault").click()
driver.find_element_by_name("Name").clear()
driver.find_element_by_name("Name").send_keys("Test Vault")
driver.find_element_by_xpath("//button[@onclick=\"vault_action('createvault', null, $('#CreateVault [name=\\'Name\\']').val())\"]").click()
driver.find_element_by_css_selector("button.btn.dropdown-toggle").click()
driver.find_element_by_link_text("Rename vault").click()
driver.find_element_by_name("Id").click()
Select(driver.find_element_by_name("Id")).select_by_visible_text("Test Vault") …Run Code Online (Sandbox Code Playgroud) 我是Scala,sbt及其REPL的新手.我真正喜欢的一件事是~在编辑文件时循环运行或编译的选项.所以我~run经常跑步.
但它泄漏了记忆.在20-30次运行之后,整个sbt交互式shell崩溃:
[info] Compiling 1 Scala source to /home/[redacted]
sbt appears to be exiting abnormally.
The log file for this session is at /tmp/sbt853875123365456892.log
java.lang.OutOfMemoryError: Metaspace
Error during sbt execution: java.lang.OutOfMemoryError: Metaspace
Run Code Online (Sandbox Code Playgroud)
老实说,这不是什么大不了的事,但是虽然我明白了OOME是什么,但我想弄清楚的问题是 - 它真的应该是什么?答案是"不",但......
我使用Spring 3.1.3作为webapp,使用XML配置和组件扫描.
我意识到其中一个扫描的组件必须在其他几个之前初始化.在需要构造后初始化的所有类上,我在方法上有一个@PostConstruct注释.
为了设置依赖顺序,我将'@Component'更改为'@Component("configData")'在需要在其他之前构建后的类上.然后我在每个类定义之前添加了'@DependsOn("configData")',需要在"configData"bean之后进行后构建.
从我读过的内容来看,这就是我需要强制执行依赖顺序的全部内容.
然后,我构建了所有内容,设置了断点,并启动了应用程序.我希望在任何依赖bean之前点击"configData"bean中的断点.这不是发生的事情.第一个断点位于其中一个依赖bean的"init"方法中.
然后我更改了我的"log4j.xml"以将"debug"设置为"org.springframework"的日志记录级别并重新进行测试.断点行为是相同的,我的日志记录没有显示有关Spring初始化的任何调试信息(我已经调试了log4j初始化本身,所以我确认我为"org.springframework"设置了DEBUG).
我可能会失踪什么?
更新:
如果重要的话,这里有几个我在这里做的骨架例子.
@Component("configData")
public class ConfigData {
....
@PostConstruct
public void init() {
....
}
}
@Component
@DependsOn("configData")
public class ClassDependentOnConfigData extends BaseClass {
....
@Override
@PostConstruct
public void init() {
super.init();
....
}
}
Run Code Online (Sandbox Code Playgroud)
重申一下,我在运行时发现的是"ClassDependentOnConfigData"中的"init()"方法是由Spring在"ConfigData"中的"init()"方法之前调用的.
另请注意,"BaseClass"对于"ConfigData"具有"@Autowired".
我想基于Selenium RC的自动化Web测试套件在遇到一些错误时截取页面的屏幕截图.测试套件是持续集成过程的一部分,技术上由作为Windows服务运行的CruiseControl执行.
selenium.captureScreenshot()调用该方法来触发实际的屏幕截图.我已经注册了一个JUnit RunListener来在任何测试失败时调用它.
问题是截图只是空白文件 - PNG文件全黑.尺寸为1440x900.
当从Eclipse手动运行相同的测试时,截图是可以的(虽然它们是整个桌面的截图而不是浏览器窗口,但这是一个不同的故事和一个小问题).所以我猜问题的原因是Selenium作为Windows服务运行.
当Selenium测试中发生异常时,如何获取页面截图?
使用的软件:
我正在使用Django和谷歌的App Engine.
我想用百分比编码的斜杠将信息发送到服务器.像http:/localhost/turtle/waxy%2Fsmooth这样的请求会匹配像这样的URL r'^/turtle/(?P<type>([A-Za-z]|%2F)+)$'.请求完整地到达服务器,但在与正则表达式进行比较之前的某个时间,%2F将转换为正斜杠.
我该怎么做才能阻止%2F转换成正斜杠?谢谢!
我不知道这是怎么发生的,我看不出任何错误.我第二次打开页面时似乎无法浏览视频.
看这里的截图: 
我发现这个错误,
TypeError: Floating-point value is not finite.
"Video is not ready. (Video.js)"
Run Code Online (Sandbox Code Playgroud)
帮助将非常感激.
谢谢
XML规范定义了XML文档中允许的Unicode字符子集:http: //www.w3.org/TR/REC-xml/#charsets.
如何从Java中的String中过滤掉这些字符?
简单的测试案例:
Assert.equals("", filterIllegalXML(""+Character.valueOf((char) 2)))
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个可以免费访问的公开SQL数据库,在这里可以SELECT免费运行一些有意义的数据(不是item1,item2,item3).你看过了吗?如果它与一些教程一起更好.
只要可以使用通用JDBC客户端进行连接,供应商就不那么重要了.
我正在处理一个Spring MVC Web应用程序,该应用程序是使用一个引导程序DispatcherServlet.它创建了一个XmlWebApplicationContext管理整个应用程序:
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Run Code Online (Sandbox Code Playgroud)
现在有一些模块应该在运行时使用a加载ContextSingletonBeanFactoryLocator.因此每个模块都有自己的模块ClasspathXmlApplicationContext.因此,一个模块可以从中引用bean XmlWebApplicationContext,它应该附加到XmlWebApplicationContext形成一个Context Hierarchy,其中XmlWebApplicationContext应该扮演父级角色和ClasspathXmlApplicationContext模块子角色的角色.不幸的是我无法使用它们连接它们
<beans>
<bean id="moduleContext"
class="org.springframework.context.support.ClassPathXmlApplicationContext">
<constructor-arg>
...
</constructor-arg>
<constructor-arg ref="parentContext" />
</bean>
</beans>
Run Code Online (Sandbox Code Playgroud)
因为到目前为止我找不到WebApplicationContext这个名字parentContext.我是否忽略了某些东西,或者是否有更好/更简单的方式以不同的方式实现同样的目标?