如何在真实设备上启动Android应用程序

android设备是索尼xperia Z,版本4.3。 我想自动化原生计算器应用程序。 代码 : import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.annotations.*; public class Calculator { WebDriver driver; @BeforeClass public void setUp() throws MalformedURLException{ //Set up desired capabilities and pass the Android app-activity and app-package to Appium DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, “Android”); […]

以编程方式跟踪eclipse清理所做的文件更改

我编写了一个eclipse osgi插件,它对eclipse项目中存在的java文件运行清理和格式化操作。 就像是: 运行具有eclipse命令的批处理文件 它打开了eclipse编辑器 加载在批处理命令中作为参数传递的eclipse项目 运行清理和格式化操作 关闭日食 现在我的问题是我需要跟踪此操作已更改的文件。 我正在使用cleanUpsAction执行清理更改, cleanUpsAction作为多个文件和进一步分叉的线程运行。 它返回void。 我也尝试过IResourceChangeListener ,但是我无法获得更改的资源名称。 我得到了IResourceChangeEvent对象,但资源的细节并没有出来,它在我打印IResourceChangeEvent.getSource()时总是返回项目名称。

传递Spring数据中的参数

我想知道如何将参数传递给bean.xml。 如果我在bean.xml中这样写,它按预期工作 但如果我这样写,我会收到错误 我的bean.xml AgingScheduler JobParametersBuilder builder = new JobParametersBuilder(); builder.addDate(“date”, new Date()); builder.addString(“fileName”, “AgingReporting_” + PropertiseUtil.settlementDateyyyyMMdd()); builder.addString(“edcbatchStatus”,”A”).toJobParameters(); 错误 Job failed with following exceptions exception :Failed to initialize the reader

使用ChromeDriver和无头模式下载Java,Selenium中的文件

由于我仍然不清楚如何使用ChromeDriver中的–headless模式下载文件 – selenium [Java],请在此处添加如何执行此操作的示例,我尝试这样做(文件下载工作正常 – 无头选项): ChromeOptions lChromeOptions = new ChromeOptions(); HashMap lChromePrefs = new HashMap(); lChromePrefs.put(“profile.default_content_settings.popups”, 0); lChromePrefs.put(“download.default_directory”, _PATH_TO_DOWNLOAD_DIR); lChromePrefs.put(“browser.set_download_behavior”, “{ behavior: ‘allow’ , downloadPath: ‘”+_PATH_TO_DOWNLOAD_DIR+”‘}”); lChromeOptions.addArguments(“–headless”); lChromeOptions.addArguments(“–disable-gpu”); lChromeOptions.setExperimentalOption(“prefs”, lChromePrefs); WebDriver lWebDriver = new ChromeDriver(lChromeOptions); 据我所知,自从Chrome v60 +设置Browser.setDownloadBehaviour(true, _DIRECTORY) ,无法以无头模式下载文件,但我无法找到ChromeDriver是否已经支持它的信息,或者只是我使用错误的chrome首选项作为参数 ChromeDriver版本:2.34 Selenium + WebDriver版本:3.8.1

通过Google DataFlow Transformer查询关系数据库

我想在我的Dataflow Pipeline上实现ParDo Transformer,它基本上根据要处理的每个元素提供的数据查询关系数据库。 我知道用户定义的变换器中的每个属性都必须是可序列化的,但是要使用jdbc查询数据到数据库,我需要创建一个自然不可序列化的对象。 仍然可以在Dataflow Pipeline上下文中执行此操作吗?

返回上一个Activity,其中有一些`put extra` onClick of recyclerView Item

我想通过单击Recycler视图中的Item传递先前活动的数据,并在编辑文本上显示它。 这是我用于将数据从listview传递到上一个活动的代码 我想用Recyclerview做同样的事情 //调用第二个活动 public static final int REQUEST_CODE = 100; Intent dateintent = new Intent(MainActivity.this, SecondActivity.class); startActivityForResult(dateintent, REQUEST_CODE); // onview of listview将数据传递回上一个活动 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { TextView txt = (TextView) view.findViewById(R.id.textView); String str = txt.getText().toString(); Intent intent = new Intent(); intent.putExtra(“data”,str); setResult(RESULT_OK,intent); finish(); […]

单击超链接时,将选定的信息从JSP发送到servlet

我正在使用一个显示“节日名称”列表的JSP页面。 我想链接到点击页面,该页面将显示该节日的“个人资料页面”。 我如何发送哪个链接被点击到JAVA SERVLET,以便我可以使用SQL和Java将所选信息发送到“配置文件页面”jsp。 Festival Name: Location: Start Date: End Date: URL: List of Trips to ${festival.festivalName} ${festival.location} ${festival.startDate} ${festival.endDate} ${festival.URL} View Your Festivals ^i have the festivals ID that can be sent with this link in the jsp 我简单地需要知道如何将所选的“节日”ID发送回servlet,以便它可以生成配置文件JSP。 编辑:以及如何在servlet上捕获它

Group By:Spring JPA规格

我正在尝试使用Spring Data JPA规范,并想知道如何在规范中使用Group By 。 请参阅下面我当前的规格: 知识库 public interface OauthAccessTokenRepository extends JpaRepository, JpaSpecificationExecutor { } 规格 public class OauthAccessTokenSpecification { public static Specification equalsTokenId(final String tokenId) { return new Specification() { public Predicate toPredicate(Root root,CriteriaQuery query, CriteriaBuilder cb) { return cb.equal(root.get(“tokenId”), tokenId); } }; } public static Specification equalsRefreshToken(final String refreshToken) { return new Specification() […]

{Core Java with Spring}通过普通JDBC调用PL SQL存储过程 – 谁应该理想地进行事务管理

我的应用程序从Java / Spring调用Oracle存储过程。 没有Hibernate或iBatis或Spring JDBC模板。 从没有业务逻辑检查,没有validation的意义上讲,这个服务器端/中间层是“瘦的”; 它只是UI和数据库之间的数据传输层。 java代码在数据检索或数据持久性的情况下调用存储过程。 存储过程是与各种表/表关系交互并聚合数据的大家伙。 问题 – 在这种情况下,谁应该理想地管理交易? 从Java代码还是从存储过程? 通常,当中间层管理数据或执行业务逻辑,或者validation时,我们将使用普通的JDBC / ORM框架与各种表进行交互,从而管理事务。 但在我的用例中,SP正在与表进行交互,决定数据是否被正确检索或能够持久,为什么它应该依靠中间层来单独管理事务。 它可以很好地知道是提交事务还是回滚事务。 在数据检索的情况下总是编写一个为聚合函数作为高级接口的SP,或者在数据持久化的情况下编写汇总函数,并最终执行事务提交或事务回滚,这不是更好吗? 只有在预期为特定操作调用多个SP时,中间层才需要处理事务管理。 只要java代码只为特定操作[fetch / update / delete]调用一个SINGLE存储过程,管理存储过程本身的事务提交和回滚是不是很好? 如果SP内部出现问题,它可以回滚事务并引发exception,然后Java会将该exception消息[或记录并将自定义exception传递]传递给UI。 反问题是让SP在遇到任何exception的情况下引发exception,并且Java代码反过来捕获exception并执行事务回滚。 如果在调用SP时没有exception,则让它进行事务提交。 但是在这里,SP已经知道事务是成功还是失败,那么为什么我们不能自己进行提交或回滚,而是以exception或无exception的forms传递该信息并让java代码执行提交/回滚? 更新:certificate需要Java代码来管理事务的一件事是它调用MULTIPLE SP进行SINGLE操作。 但是,同样的结果可以通过一个高级例程来实现,该例程执行内部调用各个例程的逻辑,最后做出提交/回滚的决定。 请分享您对此的想法/建议/设计建议。 PS:我这里没有共享任何代码,但这是一个程序设计问题,关于谁应该管理交易?

如何在Activemq中回滚消息

我想在变量x值等于1时向Activemq发送确认。如果它不等于1 ,我想将消息重新发送到Activemq 。 然后只有Activemq再次向订阅者传递消息。为此,我编写了以下程序。 MessageConsumer.java: public class Consumer extends HttpServlet { @Override protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException { try { ActiveMQConnectionFactory connectionFactory=new ActiveMQConnectionFactory(“admin”,”admin”,”tcp://localhost:61617″); RedeliveryPolicy policy = new RedeliveryPolicy(); policy.setInitialRedeliveryDelay(1000L); policy.setMaximumRedeliveries(RedeliveryPolicy.NO_MAXIMUM_REDELIVERIES); connectionFactory.setRedeliveryPolicy(policy); connectionFactory.setUseRetroactiveConsumer(true); Connection connection=connectionFactory.createConnection(); final Session session=connection.createSession(true, Session.AUTO_ACKNOWLEDGE); Topic queue=session.createTopic(“MessageTesting”); javax.jms.MessageConsumer consumer=session.createConsumer(queue); //anonymous class MessageListener listener = new MessageListener() { @Override […]