首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么互联网外企中国总是失败

以往也和亚马逊的同事讨论过,其中失败的原因。明显,美国的同事和中国国内的同事理解不同。而我认为,经过这样的失败,多数亚马逊人依然不理解失败的本质原因。...我猜测,即便已经是市场被蚕食的事后了,如果再给亚马逊一次机会,我们回到昨日,到那个收购卓越网的重磅事件之前,重新开辟中国市场,它依然会失败,或者说,未必会比今日好多少。...显然它的思路本身无可指摘,因为全球,无论是欧美还是日本,基本都是一套界面框架。...要在中国搞好本土化,不只是给你的产品改个样式,变个颜色,换个文字,而是需要从战略重视起来。那些脑海中的概念、成见,乃至常识,它们的成立性和合理性到了中国都要重新审视。...本质束缚的框架越少,本土化越容易进行,这么做确实不能保证正确性,但是不这么做只能玩完。 不放下高傲的身段,就不能足够了解中国。不足够了解中国,就很难再中国的战场上凯旋。

52320
您找到你想要的搜索结果了吗?
是的
没有找到

Selenium编写自动化用例的8种技巧

它不仅易于理解,而且维护无需花费太多精力。从长远来看,借助框架来构建测试可以增加工作价值,并减少维护工作。您可以通过使用由JUnit和TestNG之类的框架提供的注释来控制应用程序的流程。...即使您的验证无法确定,也会显示失败消息,以便您可以找出问题所在。我们验证代码方面犯的最大错误是从确保验证通过的角度编写。...如果您希望验证失败后立即中断测试并跳至另一测试,则可以使用硬断言,而如果您希望同一页面上验证多个检查,则可以选择软断言。决定完全使用哪个断言取决于用例。 以下是登录页面上执行的断言示例。...特定的浏览器运行代码会失去应用程序的跨浏览器兼容性。执行跨浏览器测试,以确保您的应用程序在所有主要浏览器都能提供无缝的用户体验,我们可以扩展此测试的自动化范围。...下面的代码显示了如何通过TestNG多个浏览器运行自动化代码 public class crowssbrowser { static WebDriver driver; @Parameters

1.2K10

《手把手教你》系列技巧篇(二十五)-java+ selenium自动化测试-FluentWait(详细教程)

1.简介 其实今天介绍也讲解的也是一种等待的方法,有些童鞋或者小伙伴们会问宏哥,这也是一种等待方法,为什么不在上一篇文章中竹筒倒豆子一股脑的全部说完,反而又在这里单独写了一篇。...介绍FluentWait之前,我们来讨论下为什么需要设置等待,我们前面介绍了隐式等待和显式等待。...现在很多软件产品为了加强前端的效果,采取了大量的AJAX 和Jquery技术,很多窗体内的数据,需要等待一会,才能加载完数据,才能出现一些元素,driver才能操作这些元素做一些事情。...所以自动化脚本开发过程,合理的设置时间等待是非常必要的,可以说百分之90以上的自动化测试用例执行失败,基本是很时间等待有关系,造成元素没有及时界面上显示,而报no such element子类的错误...等待条件的最长时间(45秒)和检查指定条件成功或失败的频率(5秒)。如果元素在此时间范围内可以查找到,它将执行下一步操作,否则它将抛出“ElementNotVisibleException”。

85850

Selenium+TestNG实战-6 自动化实现发一篇文章

这里我们pageobjects包下新建一个article的包,article包下新建一个writearticle和allarticle两个包。...clickArticle() { click(Article_tab); } /** * 点击左侧所有文章菜单 */ public void clickAllArticle() { click(Article_AllArticles...// 点击文章链接 public void clickArticleLink() { click(Article_writeArticle_link); } } testsuites包下新建一个文章的包...在前面基础,参照TestLogin.java的内容,我pageobjects下新建一个Login.java的类,内容如下。...上面代码是多次运行之后才有的结果,你可能会卡在某一个元素定位失败的问题上,没关系,多看看报错信息,根据报错去调整更好方法,知道运行成功,运行成功之后还需要多运行测试几遍。

1.1K30

为什么不提倡训练集检验模型?

你可能会疑惑,为什么不用数据集中的所有数据来训练及评估模型呢? 这看上去是合理的。通常我们会有如下的猜测:应该用尽可能多的数据来训练模型;再同一个数据集评估模型生成报告能评价模型的好坏。...在这篇文章中,你会发现证明上述猜测的困难,同时能明白为什么未知数据测试模型是很重要的。...最好的描述性数据能够观测数据集非常准确,而最好的预测性模型则希望能够在为观测数据集上有着良好的表现。 过度拟合 训练集评估预测性模型的不足之处在于你无从得知该模型未观测数据集的表现如何。...在这一观点下,我们知道仅仅在训练集评估模型是不够的,未观测数据集检验模型的泛化能力才是最好的方法。...上述观点帮组我们理解为什么评估预测性模型的好坏时我们采用划分训练集测试机、交叉验证和多重交叉验证是至关重要。

1.8K70

为什么CSS Grid创建布局比Bootstrap更好

CSS Grid是一种在网络创建布局的新方法。我们第一次使用浏览器原生的CSS网格布局后,发现这种方式给我们带来太多好处了。...现在我来一一解释一下为什么认为CSS Grid优于Bootstrap的三个理由: 元素会更简单 用CSS Grid替代Bootstrap能让HTML代码更干净。...具体来说,是需要添加这个: 这可能是一些人支持Bootstrap的一个论点:尽可能简化网络的时候,你不必太担心CSS,而只需HTML中定义布局。...但是,正如下一个论点,元素和布局之间的耦合实际是一个弱点,特别是涉及到灵活性的时候。 布局更灵活 如果你想要根据屏幕的大小来改变布局,比如当在移动设备查看的时候,菜单移到最上面一行。...我写这篇文章的时候,全球75%的网站流量已经能够支持CSS Grid。

2.2K60

Selenium等待:sleep、隐式、显式和Fluent

Selenium提供多种等待,根据某些条件脚本执行相应的等待,从而确保Selenium执行自动化测试时不会导致脚本失败。...这就是为什么使用Selenium处理动态元素,那么最好不要使用Thread.Sleep()。 下面的代码片段突出显示了Thread.Sleep()Selenium自动化测试中的用法。...elementToBeClickable():验证给定元素是否屏幕存在/可单击 textToBePresentInElement():验证给定元素是否具有必需的文本 titlels():验证条件,等待具有给定标题的页面...在此示例中,我们使用的是订票网站,其中的模式动态时间显示主页。使用显式等待,基于元素的可见性,我们将等待元素并关闭弹出窗口。...foo = fluentWait.until(new Function() { public WebElement apply(WebDriver

2.5K30

《手把手教你》系列技巧篇(二十二)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换上卷(详细教程)

1.简介 一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作。 2.为什么要切换窗口?...宏哥这里简单举例一个测试场景,你页面A点击一个连接,会在新的tab窗口打开页面B,这个时候,你页面B点击一个连接,会在新的tab窗口打开页面C。...这种情况,测试中经常遇到,自动化中,webdriver是如何处理的呢。这里就需要用到今天讲解和分享的知识了。...我们先抛开其他的,就是先实现driver页面A切换到页面B,然后切换到页面C这个过程如何实现,webdriver中提供了一个switch.to.window(handle)的方法。...一般来说,自动化也是尽量一个页面做完相关测试,才会切换到其他页面。

75340

selenium 常见面试题以及答案

(); 4. selenium 有几种定位方式,你最常用哪种, 为什么?...ByCssSelector 我最常用的事ByXpath(或CssSelector)因为很多情况下,html标签的属性不够规范,无法通过单一的属性定位,这个时候就只能使用xpath可以去重实现定位唯一element 事实定位最快的应当属于...2) 列表页停留1分钟,至到页面上出现“搜索结束”。...3) 如果出现航班列表,对于出现“每段航班均需缴纳税费”的行随机点选“订票”按钮,展开的列表中会出现“第一程”、 “第二程”;对于没有出现“每段航班均需缴纳税费”的行随机点选“订票”按钮,展开的列表底部中会出现...d.findElement(by); } }).isDisplayed(); return isPresent; } 依然不够完美,为什么这么说

3.1K20
领券