diff --git a/tests/org.eclipse.wst.common.tests/frameworktests/org/eclipse/wst/common/frameworks/artifactedit/tests/ArtifactEditTest.java b/tests/org.eclipse.wst.common.tests/frameworktests/org/eclipse/wst/common/frameworks/artifactedit/tests/ArtifactEditTest.java
index 5639119..c1a0655 100644
--- a/tests/org.eclipse.wst.common.tests/frameworktests/org/eclipse/wst/common/frameworks/artifactedit/tests/ArtifactEditTest.java
+++ b/tests/org.eclipse.wst.common.tests/frameworktests/org/eclipse/wst/common/frameworks/artifactedit/tests/ArtifactEditTest.java
@@ -13,8 +13,8 @@
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.FileLocator;
 import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Platform;
@@ -117,8 +117,7 @@
 
 	private IPath getLocalPath() {
 
-		IPluginDescriptor pluginDescriptor = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.wst.common.tests");
-		URL url = pluginDescriptor.getInstallURL();
+		URL url = Platform.getBundle("org.eclipse.wst.common.tests").getEntry("");
 
 		try {
 			url = new URL(url.toString() + zipFilePath);
@@ -128,7 +127,7 @@
 		}
 
 		try {
-			url = Platform.asLocalURL(url);
+			url = FileLocator.toFileURL(url);
 			printLocalPath(url);
 		} catch (IOException e) {
 			e.printStackTrace();
diff --git a/tests/org.eclipse.wst.common.tests/frameworktests/org/eclipse/wst/common/frameworks/tests/bvt/AutomatedBVT.java b/tests/org.eclipse.wst.common.tests/frameworktests/org/eclipse/wst/common/frameworks/tests/bvt/AutomatedBVT.java
index 53e178e..ef81539 100644
--- a/tests/org.eclipse.wst.common.tests/frameworktests/org/eclipse/wst/common/frameworks/tests/bvt/AutomatedBVT.java
+++ b/tests/org.eclipse.wst.common.tests/frameworktests/org/eclipse/wst/common/frameworks/tests/bvt/AutomatedBVT.java
@@ -12,7 +12,7 @@
 import junit.framework.TestSuite;
 import junit.textui.TestRunner;
 
-import org.eclipse.core.runtime.IPluginDescriptor;
+import org.eclipse.core.runtime.FileLocator;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.wst.common.environment.tests.EnvironmentTests;
 import org.eclipse.wst.common.frameworks.artifactedit.tests.ArtifactEditAPITests;
@@ -31,9 +31,8 @@
 
 	static {
 		try {
-			IPluginDescriptor pluginDescriptor = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.wst.common.tests");
-			URL url = pluginDescriptor.getInstallURL();
-			AutomatedBVT.baseDirectory = Platform.asLocalURL(url).getFile() + "TestData" + java.io.File.separatorChar;
+			URL url = Platform.getBundle("org.eclipse.wst.common.tests").getEntry("");
+			AutomatedBVT.baseDirectory = FileLocator.toFileURL(url).getFile() + "TestData" + java.io.File.separatorChar;
 		} catch (Exception e) {
 			System.err.println("Using working directory since a workspace URL could not be located.");
 		}
diff --git a/tests/org.eclipse.wst.common.tests/frameworktests/org/eclipse/wst/common/frameworks/tests/bvt/AutomatedBVTEclipse.java b/tests/org.eclipse.wst.common.tests/frameworktests/org/eclipse/wst/common/frameworks/tests/bvt/AutomatedBVTEclipse.java
index b784a89..650070e 100644
--- a/tests/org.eclipse.wst.common.tests/frameworktests/org/eclipse/wst/common/frameworks/tests/bvt/AutomatedBVTEclipse.java
+++ b/tests/org.eclipse.wst.common.tests/frameworktests/org/eclipse/wst/common/frameworks/tests/bvt/AutomatedBVTEclipse.java
@@ -9,7 +9,7 @@
 import java.io.IOException;
 import java.net.URL;
 
-import org.eclipse.core.runtime.IPluginDescriptor;
+import org.eclipse.core.runtime.FileLocator;
 import org.eclipse.core.runtime.Platform;
 
 /**
@@ -19,10 +19,9 @@
 	
 	public AutomatedBVTEclipse(){
 		super();
-		IPluginDescriptor pluginDescriptor = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.wst.common.tests");
-        URL url = pluginDescriptor.getInstallURL();
+        URL url = Platform.getBundle("org.eclipse.wst.common.tests").getEntry("");
         try {
-        	AutomatedBVT.baseDirectory = Platform.asLocalURL(url).getFile() + "TestData"+ java.io.File.separatorChar;
+        	AutomatedBVT.baseDirectory = FileLocator.toFileURL(url).getFile() + "TestData"+ java.io.File.separatorChar;
 		} catch (IOException e) {
 			e.printStackTrace();
 		}
